【发布时间】:2013-05-05 01:23:08
【问题描述】:
我知道这个问题已经被问过好几次了,但是在阅读了它们并做出了建议的修复之后,我仍然感到困惑。
我的项目结构如下:
Project
|
src
|
root - has __init__.py
|
nested - has __init__.py
|
tests - has __init__.py
|
utilities - has __init__.py
|
services - has __init__.py
我已经成功地从 Eclipse 运行了一个单元测试回归类,没有任何问题。
当我尝试从命令行运行相同的类时(因为将运行该套件的其他用户无权访问 Eclipse)我收到错误:
ImportError: No module named 'root'
从上面可以看到,模块根有一个__init__.py
所有__init__.py 模块都是空的。
我们将不胜感激。
【问题讨论】:
-
src在您的sys.path上吗?您是在该目录中运行 Python 命令还是将src显式添加到您的sys.path(或PYTHONPATH环境变量)? -
@Martijin:我正在尝试从“..\tests 目录”中执行。 'scr' 未添加到 'sys.path' 或 'PYTHONPATH'。我不知道它需要,这是第一次尝试通过命令行执行。我会尝试将目录添加到“PYTHONPATH”
-
我不建议添加到路径。我建议你学习看看如何设置
setup.py,这意味着实际创建一个 Python 项目。从长远来看,这对您有帮助。 -
@MartijnPieters:谢谢,我已经添加了
sys.path,现在一切都很好。我对你的评论投了赞成票。 @CppLearner:现在阅读。非常有用,也给你投票,谢谢。
标签: python python-3.x importerror