0

我有一个像这样的文件夹结构:

/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 的测试目录中查找?

任何人都可以分享一些关于如何让导入正常工作的信息吗?

4

3 回答 3

1

我相信你的测试包__init__.py也需要一个文件

于 2013-01-17T01:12:59.817 回答
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)
于 2013-01-17T01:16:02.777 回答
0

尝试从命令行使用它,看看是否消除了错误

export PYTHONPATH="$PYTHONPATH:/path/to/mylib/"

于 2013-01-17T01:50:02.213 回答