我有一个require.txt文件,其中包含要安装的python包列表。其中一个软件包是psycopg2==2.6.2
我需要将此软件包更新为psycopg2==2.7
。我尝试按pip3 install psycopg2
安装但它不会影响requirement.txt文件。你能指点我正确的方向吗?
答案 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不会更新需求文件。因此,您可能想要使用的工作流程是:
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]