【发布时间】:2018-12-20 06:54:35
【问题描述】:
考虑以下目录
myProject
myCode.py
__init__.py
myProject2
__init__.py
myProject2Inner
myCode.py
__init__.py
myLibrary
__init__.py
myPackage1
__init__.py
myPackage1Code.py
myPackage2
__init__.py
myPackage2Code.py
如果myCode.py 依赖于myPackage1Code.py 而myPackage1Code.py 依赖于myPackage2Code.py
我目前正在做以下事情
sys.path.append(os.path.abspath('../myLibrary/myPackage2/'))
import myPackage2Code
在myPackage1Code.py 中使代码运行成功。但这显然非常糟糕,因为库导入路径完全取决于谁在使用它。例如,如果myProject2Inner 需要myPackage1,那么上面的代码将不起作用。
我不得不这样做
sys.path.append(os.path.abspath('../../myLibrary/myPackage2/'))
import myPackage2Code
我认为我在这里做错了什么,有人可以指出如何在自包含库中处理导入路径的方向吗?
【问题讨论】:
-
如果您只是将
myLibrary的路径添加到PYTHONPATH会不会有帮助?
标签: python python-2.7