【发布时间】:2021-05-14 07:42:48
【问题描述】:
我正在开发两个 python 包,pkg_a 和 pkg_b。 pkg_a 是 pkg_b 的要求,因此 pkg_b 的 setup.py 看起来像这样:
from setuptools import setup
inst_reqs = [
'pkg_a @ git+ssh://git@bitbucket.org/vlad/pkg_a.git',
]
setup(
name="pkg_b",
version="0.0.0",
packages=['pkg_b'],
install_requires=inst_reqs,
)
由于我同时开发这两个包,pkg_a 已经安装在可编辑模式 (pip install -e .)。
pip 安装pkg_b 时,为什么删除了现有的pkg_a 安装?看起来 pip 将系统地连接指定的 repo,卸载现有的 pkg_a 并从克隆的 repo 重新安装它:
Successfully built pkg_a
Installing collected packages: pkg_a, pkg_b
Attempting uninstall: pkg_a
Found existing installation: pkg_a 0.0.0
Uninstalling pkg_a-0.0.0:
Successfully uninstalled pkg_a-0.0.0
Running setup.py develop for pkg_b
Successfully installed pkg_a-0.0.0 pkg_b
我猜这与版本控制有关,但我不知道如何解决这个问题。有什么建议吗?
【问题讨论】:
标签: python git pip setuptools setup.py