我有两个 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 之外,还有更方便的方法吗?
根据第一个答案,如果有办法从不同的项目链接模块,我怎么能在我的超级应用项目的发布包中包含这样的外部模块?我不确定install_requires
在setup.py
意志中使用。
我的主要想法是不要Useful/package_parsing
在我所有的其他开发项目中复制该包,尤其是当我想对这个有用的包进行修改时。我不想更新每个项目中所有过时的副本。
==============
编辑 1
我的问题的第一部分似乎需要处理附加路径:
import sys
sys.path.insert(0, path/to/Useful/package_parsing)
此外,我可以使用以下方法简单地检查可用路径:
for p in sys.path:
print p
现在对于第二部分,我如何在发布包中包含这样的外部模块,可能使用setup.py
安装文件?