我有两个python项目,一个包含用于文件操作的有用包等。它们很有用,因为它们可以在任何其他类型的项目中重复使用。第二个是这些项目之一,需要使用我有用的包。这是我的项目'文件结构:
Python-projects/
Useful/
package_parsing/
package_file_manipulation/
package_blabla/
Super-Application/
pkg1/
__init__.py
module1.py
module2.py
pkg2/
setup.py
MANIFEST.in
README.rst
首先,我想在我的模块Useful/package_parsing
中使用Super-Application/pkg1/module1.py
包。除了在Super-Application项目中复制package_parsing之外,还有更方便的方法吗?
根据第一个答案,即如果有办法从不同的项目链接模块,我怎么能在我的Super-Application项目的发布包中包含这样的外部模块?我不确定在install_requires
中使用setup.py
会不会。
我的主要想法是不要在我的所有其他开发项目中复制Useful/package_parsing
包,特别是当我想对这个有用的包进行修改时。我不想更新每个项目中的所有过期副本。
=============
看来我的问题的第一部分是处理附加路径:
import sys
sys.path.insert(0, path/to/Useful/package_parsing)
此外,我只需使用以下方法检查可用路径:
for p in sys.path:
print p
现在第二部分,我如何在发布包中包含这样的外部模块,可能使用setup.py
安装文件?