python - 有没有办法更新一个包,并递归地更新它使用的所有包?
问题描述
我创建了一个供内部使用的包。在我的设置文件中,我有类似的内容:
from setuptools import setup, find_packages
setup(
name='myutils',
version='0.3',
description='Set of utils for these projects',
packages=find_packages(),
install_requires=[
'requests',
'arrow',
'slackclient'
]
)
它运行良好,并且可以install_requires
顺利安装所有软件包。
但是,有时这些软件包中的一些可能需要更新,所以我希望pip install --upgrade myutils
在 中更新这些软件包install_requires
,而事实并非如此。
有没有办法做某种或类似的事情,以便也安装内部包?我能想到的唯一解决方法是以 的形式定义最小包版本,但这似乎不是最推荐的方法。pip install --upgrade --recursive myutils
package>=that_version.X.y.z
解决方案
pip 最近(几年前,现在我检查了)更改了默认策略--upgrade
- 它用于升级包和任何传递包,但更改为仅升级包
幸运的是,添加了一个新选项来控制此行为:--upgrade-strategy
要恢复旧的“升级一切”方法,您可以使用pip install --upgrade --upgrade-strategy=eager PKG
(默认策略是only-if-needed
)
推荐阅读
- django - 如何在django的模板中返回一个方法的多个值
- python - 发布 MQTT、AWS IoT 时出现“SSL:CERTIFICATE_VERIFY_FAILED”错误
- php - Laravel 8 rest api 电子邮件验证
- c# - 尝试使用简单的 ASP.NET Core 网站进行 RenderPartialAsync 时出现编译器错误
- c++ - 无法将第二个下标运算符重载标记为 const
- node.js - 页面 url 更改但无法访问页面上的内容
- bootstrap-4 - 移动设备上的引导列更改顺序(2、1、3 中的 1、2、3)
- laravel - 需要帮助理解 Laravel 中模型的关系
- python - 如何优化此算法使其不超过给定的时间限制?
- c++ - 如何编写 CMakeList.txt 文件以包含 tensorflow 库?(c++ 构建)