我查看了 Python 2.7.5 文档。我的真实项目有问题,但在这里创建了一个小型测试项目来简洁地重现该问题。想象一个具有以下布局的包存储在 ~/Development/Test
这是结构:
Test/
__init__.py
foo.py
sub/
__init__.py
test_foo.py
和代码(__init__.py
文件是空的):
foo.py
def bar():
print("hello world")
test_foo.py
import Test.foo
# also tried from Test import foo
def main():
foo.bar()
if __name__ == "__main__":
main()
当试图test_foo.py
从终端(即python test_foo.py
)运行时,我得到:
Traceback (most recent call last):
File "test_foo.py", line 1, in <module>
import Test.foo
ImportError: No module named Test.foo
我正在尝试从子模块中的测试文件中导入包中的主文件(foo.py)(在我的真实项目中,子模块是单元测试代码)。奇怪的是,使用Sublime text 2 editor 和插件python test runner,我可以很好地运行我的个人测试,但我无法构建测试文件。它给了我上述错误。