首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用pip命令从requirements.txt升级python包

使用pip命令从requirements.txt升级python包
EN

Stack Overflow用户
提问于 2014-07-15 17:32:03
回答 16查看 181.5K关注 0票数 210

如何使用pip命令从requirements.txt文件升级所有python包?

用下面的命令尝试

代码语言:javascript
复制
$ pip install --upgrade -r requirements.txt

由于python包后缀有版本号(Django==1.5.1),所以它们似乎没有升级。有比手工编辑requirements.txt文件更好的方法吗?

编辑

正如Andy在他的回答包中提到的,它被固定在一个特定的版本上,因此不可能通过pip命令来升级包。

但是,我们可以使用下面的命令使用pip-tools来实现这一点。

代码语言:javascript
复制
$ pip-review --auto

这将自动升级requirements.txt中的所有包(确保使用pip命令安装pip-tools )。

EN

回答 16

Stack Overflow用户

回答已采纳

发布于 2014-07-15 17:37:14

不是的。您的需求文件一直是特定版本的已锁定。如果您的需求被设置为该版本,则不应该试图在这些版本之后进行升级。如果需要进行升级,则需要切换到需求文件中的未固定版本。

示例:

代码语言:javascript
复制
lxml>=2.2.0

这将将lxml升级到比2.2.0更新的任何版本。

代码语言:javascript
复制
lxml>=2.2.0,<2.3.0

这将将lxml升级到2.2.0至2.3.0之间的最新版本。

票数 69
EN

Stack Overflow用户

发布于 2017-04-26 18:50:14

我已经回答了这个问题,https://stackoverflow.com/a/43642193/1552520。这是我的解决方案:

因为没有简单的方法逐个升级包和更新requirements.txt文件,所以我编写了这个pip升级器还为所选的包(或所有包)更新了文件中的版本。

安装

代码语言:javascript
复制
pip install pip-upgrader

使用

激活您的virtualenv (重要的是,因为它还将在当前虚拟环境中安装升级包的新版本)。

cd进入您的项目目录,然后运行:

代码语言:javascript
复制
pip-upgrade

高级用法

如果需求被放置在一个非标准位置,将它们作为参数发送:

代码语言:javascript
复制
pip-upgrade path/to/requirements.txt

如果您已经知道要升级的包,只需将它们作为参数发送:

代码语言:javascript
复制
pip-upgrade -p django -p celery -p dateutil

如果您需要升级到发行前/发布后版本,请在命令中添加--prerelease参数。

完全公开:我写了这个包裹。

票数 192
EN

Stack Overflow用户

发布于 2014-07-15 17:33:45

你可以试试:

代码语言:javascript
复制
pip install --upgrade --force-reinstall -r requirements.txt

您还可以忽略已安装的包并安装新的包:

代码语言:javascript
复制
pip install --ignore-installed -r requirements.txt
票数 130
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24764549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档