Python3。设置工具。将本地包添加到程序集
Python3. Setuptools. Adding a local package to an assembly
有一个本地构建的包(例如main-0.1.tar.gz)。还有另一个包(例如 base-0.1)需要 main-0.1 作为依赖项。
需要在后续安装base-0.1包时,同时安装main-0.1包。
那些。您可以在 install_requires 中仅指定带有 PyPI 的包,但不清楚如何在本地向程序集添加包。
您可以使用 [=22= 将包 main-0.1.tag.gz 添加到 base-0.1 存档]MANIFEST.in (include main-0.1.tag.gz
)。但进一步 dependency_links,例如,不能正常工作。
如何将本地包添加到另一个包的构建中,然后将其与另一个包一起安装,就好像它是从 PyPI 中提取的一样?
找到一个粗略的解决方案。不知道对风水有多大影响,但是很管用
将include main-0.1.tar.gz
添加到MANIFEST.in
在setup.py中,在文件末尾(调用setup()后)添加:
if 'sdist' not in sys.argv[1]:
os.system('pip install main-0.1.tar.gz')
条件可能会有所不同,例如,sdist
未用于构建 (python setup.py sdist
)。主要是想办法确定这是运行setup
组装,而不是安装(以后pip install base-0.1.tar.gz
)。
在这种情况下,我们将本地依赖包复制到正在构建的包的存档中,并相应地与它一起分发。并以同样的方式安装。
您可能想看看:
import setuptools
setuptools.setup(
# [...]
install_requires = [
'main @ file:///path/to/main-0.1.tar.gz'
# [...]
],
)
或者(实际上可能更好),使用 pip install
options:
的某种组合
pip install --no-index --find-links '/path/to/distributions' main base
参考:
有一个本地构建的包(例如main-0.1.tar.gz)。还有另一个包(例如 base-0.1)需要 main-0.1 作为依赖项。
需要在后续安装base-0.1包时,同时安装main-0.1包。
那些。您可以在 install_requires 中仅指定带有 PyPI 的包,但不清楚如何在本地向程序集添加包。
您可以使用 [=22= 将包 main-0.1.tag.gz 添加到 base-0.1 存档]MANIFEST.in (include main-0.1.tag.gz
)。但进一步 dependency_links,例如,不能正常工作。
如何将本地包添加到另一个包的构建中,然后将其与另一个包一起安装,就好像它是从 PyPI 中提取的一样?
找到一个粗略的解决方案。不知道对风水有多大影响,但是很管用
将include main-0.1.tar.gz
添加到MANIFEST.in
在setup.py中,在文件末尾(调用setup()后)添加:
if 'sdist' not in sys.argv[1]:
os.system('pip install main-0.1.tar.gz')
条件可能会有所不同,例如,sdist
未用于构建 (python setup.py sdist
)。主要是想办法确定这是运行setup
组装,而不是安装(以后pip install base-0.1.tar.gz
)。
在这种情况下,我们将本地依赖包复制到正在构建的包的存档中,并相应地与它一起分发。并以同样的方式安装。
您可能想看看:
import setuptools
setuptools.setup(
# [...]
install_requires = [
'main @ file:///path/to/main-0.1.tar.gz'
# [...]
],
)
或者(实际上可能更好),使用 pip install
options:
pip install --no-index --find-links '/path/to/distributions' main base
参考: