gpt4 book ai didi

python - Setup.py 重新安装已经安装的用户编写的包

转载 作者:行者123 更新时间:2023-12-03 16:58:03 38 4
gpt4 key购买 nike

我正在开发两个 python 包,pkg_apkg_b . pkg_apkg_b 的要求,等等 setup.pypkg_b看起来像这样:

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
我猜这与版本控制有关,但我不知道如何解决这个问题。有小费吗?

最佳答案

这就是处理 VCS 依赖项的方式。你应该指定一个固定的引用(标签,提交 ID):

'pkg_a @ git+ssh://git@bitbucket.org/vlad/pkg_a.git@da39a3ee5e6b4b0d3255bfef95601890afd80709'
见: https://pip.pypa.io/en/stable/reference/pip_install/#git
如果您没有指定固定引用(非移动标签或提交 ID),则 pip 必须每次都进行克隆,因为自上次安装以来存储库的内容可能已更改。
(老实说,即使在此更改之后,pip 仍可能会在每次安装时重新克隆,我不记得确切的行为了。)
看到类似的问题: pip install upgrade fail to upgrade private dependency

关于python - Setup.py 重新安装已经安装的用户编写的包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66139953/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com