requirements.txt中的Python更新包版本

时间:2018-04-06 11:50:57

标签: python pip

我有一个require.txt文件,其中包含要安装的python包列表。其中一个软件包是psycopg2==2.6.2我需要将此软件包更新为psycopg2==2.7。我尝试按pip3 install psycopg2安装但它不会影响requirement.txt文件。你能指点我正确的方向吗?

2 个答案:

答案 0 :(得分:3)

请注意,运行pip3 install psycopg2并不尊重requirements.txt文件。要升级此软件包,您需要使用-U选项:

pip3 install -U psycopg2

这是:

的简写
pip3 install --upgrade psycopg2

之后,您可以使用以下命令更新requirements.txt

pip freeze > requirements.txt

如果您在升级软件包/软件包后正在寻找自动更新requirements.txt文件的解决方案,则可以使用pip-upgrader

<强>安装:

pip install pip-upgrader

<强>用法:

pip-upgrade

以上命令自动发现需求文件并提示选择升级。您还可以指定需求文件的路径或/并指定要升级的包:

pip-upgrade /path/to/requirements.txt -p psycopg2

答案 1 :(得分:2)

正如您所发现的那样,pip不会更新需求文件。因此,您可能想要使用的工作流程是:

  • 将需求文件中的psycopg2版本从2.6.2更新为2.7
  • 使用升级标志运行pip install

pip3 install -U -r requirements.txt

如果您熟悉npm等工具执行更新目录文件中的版本,您可能会对使用pipenv感兴趣,{{3}}管理您的依赖项和适合您的虚拟环境,就像npm一样。

如果您不知道软件包的最新版本,请使用pip来解决它:

$ pip list --outdated | grep psycopg2                                                                           
psycopg2 (2.7.3.2) - Latest: 2.7.4 [wheel]