gpt4 book ai didi

Python setup.py - 强制更新需求(使用 dependency_link)

转载 作者:太空宇宙 更新时间:2023-11-03 11:52:23 29 4
gpt4 key购买 nike

假设我有一个名为 myproject 的 Python 项目, 这取决于 mydependency .两者都由我维护。

我如何为 myproject 创建一个 setup.py所以它总是尝试安装新版本的 mydependency ,无论安装一个?

假设我有一个项目的 setup.py

setup(
...
install_requires=['mydependency'],
dependency_links = ['url_to_mydependecy_repo@develop#egg=mydependency'],
....
)

问题是,在第二次运行安装时,mydependency将已经安装,因此安装不会获取 repo 并尝试安装更新的版本。自 mydependecy正在积极开发(由我),我需要 myproject的安装总是获取依赖链接。

我试过使用 #egg=mydependency-dev对于 dependency_link 和 'mydependency==dev'install_requires , 与 version='dev'在 mydepency 的 setup.py 上,但在第二个安装中“dev”已经存在,因此不会再次获取它。

myproject 使用 requirements.txt , 与dependency_links的内容相同, 做的完全一样。在以下安装中,已经满足要求,因此不会再次获取。

注意:使用 pip -r requirements.txt --upgrade做我想做的,但我不是手动安装,而是从 Openshift 安装,所以我不能真正添加​​ --upgrade

最佳答案

尝试将 myproject 依赖项链接到 mydependency 的开发版本,正如您已经尝试过的那样,但是在您的内部使用“有效”(semver?)版本控制mydependency repo (即不将版本设置为 dev)。这将导致重新下载和重新安装依赖项(至少在我的情况下有效):

setup(
...
install_requires=['mydependency == dev'],
dependency_links = ['url_to_mydependecy_repo@develop#egg=mydependency-dev'],
....
)

关于Python setup.py - 强制更新需求(使用 dependency_link),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22739321/

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