nu *_*est 3 python importerror python-unittest
当我跑:
python -m unittest discover unit_tests
要么
python setup.py test
我收到了很多ImportErrors关于blowdrycss项目的信息.
样品:
test_BreakpointParser (unittest.loader._FailedTest) ... ERROR
test_classExtractor (unittest.loader._FailedTest) ... ERROR
test_classPropertyParser (unittest.loader._FailedTest) ... ERROR
test_colorParser (unittest.loader._FailedTest) ... ERROR
test_CSSBuilder (unittest.loader._FailedTest) ... ERROR
test_CSSFile (unittest.loader._FailedTest) ... ERROR
test_CSSPropertyValueParser (unittest.loader._FailedTest) ... ERROR
...
ImportError: No module named 'settings'
ImportError: No module named 'blowdrycss_settings'
ImportError: No module named 'blowdrycss.blowdrycss_settings'
ImportError: No module named 'utilities'
ImportError: No module named 'breakpointparser'
Run Code Online (Sandbox Code Playgroud)
项目结构:
blowdrycss/
blowdrycss/
settings/
__init__.py
blowdrycss_settings.py
unit_tests/
__init__.py
test_BreakpointParser.py
test_*.py
...
__init__.py
blowdrycss.py
breakpointparser.py
utilities.py
...
Run Code Online (Sandbox Code Playgroud)
奇怪的是,当我从PyCharm运行这些测试时,一切都会通过,但是当我从命令行运行时,它会中断.
也许这是一个简单的配置问题,但我不确定我做错了什么.
如何解决这些ImportErrors?
有很多问题.
主要问题是blowdrycss.py与包的名称相同.这导致python导入器混淆.
更改blowdrycss.py为blowdry.py帮助的名称.
另一半的问题是当前的工作目录没有被添加到PYTHONPATH.我通过添加以下行来修复此问题__init__.py:
cwd = os.getcwd()
sys.path.insert(0, cwd)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5479 次 |
| 最近记录: |