如何从Python子目录访问模块

时间:2013-01-17 01:07:10

标签: python python-module

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

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

任何人都可以分享一下如何让导入正常工作吗?

3 个答案:

答案 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/"