从不同的python包导入类

时间:2016-01-19 23:38:28

标签: python python-2.7 class import package

我查了很多关于SO的问题,但无法解决 我有一个python结构,如:

test_env/
    |A/
    |  |__init__.py
    |  |lib/
    |      |abc.py
    |      |__init__.py
    |lib/
    |  |file1.py    #this has a class MyClass
    |  |__init__.py
    |test/
    |  |test.py   #executing this file

我的PYTHONPATH:

export PYTHONPATH="${PYTHONPATH}:/Users/username/test_env/A/lib/:/Users/username/test_env/lib"

test_env /测试/ test.py

from abc import some_function
from lib.file1 import MyClass

-----

给出错误:ImportError: No module named abc
No module named lib.file1

注意:我正在使用pyCharm,当我输入from abc import some_function时,它能够找到上面的模块。 有什么建议 ?

1 个答案:

答案 0 :(得分:1)

我不确定它是否是拼写错误,但您的文件结构是' / Users / username / test_env / A / lib /'不是' / Users / username / test / A / lib /'

如果它没有解决问题,你可以在test_env / test / test.py fie的开头试试这个:

sys.path.append('/Users/username/test_env/A/lib/')
sys.path.append('/Users/username/test_env/lib/')
from abc import some_function
from file1 import MyClass

它只为你正在处理的脚本显式地为你的PATH变量添加一个字符串。