我有一个像这样的python应用程序
/
/crawl.py
/crawl/__init__.py
/crawl/john.py
/tests/test_john.py
我要做的是运行需要使用test_john.py
的单元测试john.py
,但它在另一个文件夹中。
在我的tests/test_john.py
中,当我运行它时,我得到了这个
Traceback (most recent call last):
File "test_john.py", line 2, in <module>
from john import John
ImportError: No module named john
那么如何从抓取文件夹中导入一个类......
答案 0 :(得分:14)
如果您的根文件夹位于pythonpath中,并且您将其设置为可导入的包,如下所示:
/__init__.py
/crawl.py
/crawl/__init__.py
/crawl/john.py
/tests/__init__.py
/tests/test_john.py
你可以这样做:
from crawl.john import John
或
from ..crawl.john import John
答案 1 :(得分:2)
如果您的操作系统支持,请在../crawl
目录中添加指向test
的符号链接,然后使用from crawl.john import John
。