两个py文件:
./src/foo.py
def bar ():
print 'bar!'
./tests/testfoo.py
from foo import bar
print 'testing'
bar ()
在根文件夹 './' 中,调用
python ./tests/testfoo.py
结果是
Traceback (most recent call last):
File "./tests/testfoo.py", line 1, in <module>
from foo import bar
ImportError: No module named foo
运行 testfoo.py 但解释器自然找不到模块 foo。我可以给解释器提供任何参数以在文件夹“src”中查找模块吗?
编辑#1
还添加了两个空的init .py 文件。
./src/__init__.py
./tests/__init__.py
仍然得到同样的错误。
编辑#2(解决方案)
我通过添加一个新的初始化 py 文件解决了问题
准备文件
import os, sys
cur = os.path.dirname (__file__)
pathtest = os.path.join (cur, 'tests')
sys.path.append (pathtest)
然后调用:
python prep.py tests/testfoo.py
有效