【问题标题】:import class from different python package从不同的python包导入类
【发布时间】:2016-04-25 15:31:07
【问题描述】:

我检查了很多关于 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

我的 Python 路径:

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

test_env/test/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 时,它能够找到上面的模块。 有什么建议 ?

【问题讨论】:

    标签: python python-2.7 class import package


    【解决方案1】:

    我不确定这是否是错字,但您的文件结构是 '/Users/username/test_env/A/lib/' 而不是 '/Users/username/test/A/lib/'

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

    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 变量中。

    【讨论】:

      猜你喜欢
      • 2015-04-03
      • 1970-01-01
      • 1970-01-01
      • 2018-10-02
      • 2019-12-30
      • 2021-09-08
      • 2014-08-20
      • 2015-01-27
      • 1970-01-01
      相关资源
      最近更新 更多