我用下面的确切树做了一个项目。
/ project
/ logic
- app.py
- utils.py
- exceptions.py
/ tests
- tests.py
- README
- requirements.txt
该代码旨在从命令行运行。app.py
包含主要逻辑。
在 中app.py
,我像这样导入 utils:from utils import validate_args
所以当我运行时python app.py
,一切都按预期进行。
但是当我运行时nosetests
,它立即失败,引用utils
inapp.py
的原因是:
File ".../project/app.py", line 4, in <module>
ModuleNotFoundError: No module named 'utils'
这可以通过将导入更改为 来解决.utils
,但随后命令行命令失败:
ModuleNotFoundError: No module named '__main__.utils'; '__main__' is not a package
我曾尝试将__init__.py
文件以各种组合添加到/project
,/logic
和/tests
目录中,但无济于事 - 但老实说,我只是在猜测。我在导入逻辑中遗漏了什么?
我通过使用 -m 标志运行程序来解决这个问题......天啊!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句