加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-20 13:41:31 所属栏目:Python 来源:网络整理
导读:假设我有一个名为myproject的 python项目,这取决于我的依赖性.两者都由我维护. 如何为myproject创建setup.py,以便它始终尝试安装新版本的mydependency,无论安装的是什么? 假设我有一个项目的setup.py setup( ... install_requires=['mydependency'],depende
假设我有一个名为myproject的 python项目,这取决于我的依赖性.两者都由我维护.

如何为myproject创建setup.py,以便它始终尝试安装新版本的mydependency,无论安装的是什么?

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

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

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

我尝试在install_requires中使用#egg = mydependency-dev和在install_requires中使用’mydependency == dev’,在mydepency的setup.py上使用version =’dev’,但在第二个安装’dev’已经存在,所以它不会被取回.

使用具有相同dependency_links内容的myproject的requirements.txt完全相同.在以下安装中,已满足要求,因此不会再次获取该要求.

注意:使用pip -r requirements.txt –upgrade做我想要的,但我不是手动安装,而是来自Openshift,所以我无法真正添加–upgrade

解决方法

尝试将myproject依赖项链接到我已经尝试过的dev-version of mydependency,但是在mydependency repo中使用“有效”( semver?)版本控制(即不将版本设置为dev).这将导致重新下载和重新安装依赖项(至少在我的情况下这是有效的):

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读