我的Python包依赖于一个未在pypi中的私有包。您可以假设私有包的结构类似于这个样例。
目标:以任何方式将第三方私有包存储在自己的包中,以便在运行
一个潜在的解决方法:不要安装第三方模块。相反,将它放在主包目录中,并
目标:以任何方式将第三方私有包存储在自己的包中,以便在运行
pip install -r requirements.txt
(或者更好的是pip install <my_pkg_name>
)时安装第三方依赖项。这在Windows和Linux下都必须正常工作。一个潜在的解决方法:不要安装第三方模块。相反,将它放在主包目录中,并
import
其模块。/my_pkg
/non_pypi_pkg
/my_pkg
module.py
module.py
可以在不安装 non_pypi_pkg
的情况下 import non_pypi_pkg
。
问题:如何实现这个目标的推荐做法?我们有没有比我之前尝试的方法更好的解决方案?
setup.py
。然后,设置一个私有PyPI存储库是一种选择,另一种选择是通过dependency_links
从URL安装,甚至可以直接从VCS安装,同样通过dependency_links
。pip
也可以处理VCS URL,例如pip install git+https://github.com/user/project@branch
。 - hoefling