我有一个像这样的文件夹结构:
/mylib/
/mylib/__init__.py
/mylib/my_class.py
/mylib/tests/test_my_lib.py
在我的测试中,我有:
from mylib import MyClass
import unittest
我得到了:
File "test_edgecast_mcc_client.py", line 1, in <module>
from mylib import MyClass
ImportError: No module named mylib
我认为,这是有道理的,因为当应该查看../ mylib时,导入会在mylib的tests目录中查找?
任何人都可以分享一下如何让导入正常工作吗?
答案 0 :(得分:1)
我相信你的测试包也需要一个__init__.py
文件
答案 1 :(得分:0)
将主目录添加到$PYTHONPATH
。您可以使用以下内容从test_my_lib.py
执行此操作:
import sys
import os.path
d = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0, d)
答案 2 :(得分:0)
尝试在命令行中使用它,看看是否可以消除错误
export PYTHONPATH="$PYTHONPATH:/path/to/mylib/"