【发布时间】:2016-05-30 09:50:43
【问题描述】:
我有两个项目,每个项目都有一个 Python 文件夹,其中我有另一个名为 lib_py 的文件夹,其中包含一些共享库 Python 文件。 请注意,即使 lib_py 是一组共享库,每个项目都可以拥有旧/新版本的 lib_py 文件(根据其需要)。这就是为什么每个项目都需要有它的 lib_py 文件夹的原因。层次结构如下:
Project1
Python
lib_py
__init__.py
example.py
main
main.py
Project2
Python
lib_py
__init__.py
example.py
main
main.py
在两个项目的main.py中,example.py的导入如下:
from lib_py.example import x
为了让每个 main.py 都可以访问 example.py,我在 sys.paths 中附加了以下两个路径:
D:\Project1\Python
D:\Project2\Python
问题发生在这里:调用了 Project1 的 main.py,使用了好的 example.py,但是当从 Project1 调用 main.py 之后,又调用了 Project2 的 main.py,再次调用了 Project1 的 example.py虽然我希望使用 Project2 中的 example.py。
如果发现有几个同名的包,有什么方法可以确定应该使用哪个包? 您认为还有其他解决方案吗? (当然不改变目录层次结构)
谢谢
【问题讨论】:
标签: python