pip freeze 显示了已安装的软件包,但是我如何根据 pypi 检查哪些软件包已经过时了?
答案1
答案2
事实是,我从不升级所有软件包我只升级我需要的,因为项目可能会失败。
由于没有简单的方法逐个升级软件包并更新 requirements.txt 文件,因此我编写了pip-upgrader哪个requirements.txt
还会更新文件中的版本对于所选的包(或者所有包)。
安装
pip install pip-upgrader
用法
激活您的虚拟环境(很重要,因为它还将在当前虚拟环境中安装升级包的新版本)。
cd
进入你的项目目录,然后运行:
pip-upgrade
高级用法
如果需求放在非标准位置,则将它们作为参数发送:
pip-upgrade path/to/requirements.txt
如果您已经知道要升级哪个包,只需将它们作为参数发送即可:
pip-upgrade -p django -p celery -p dateutil
如果您需要升级到预发布/后发布版本,请--prerelease
在命令中添加参数。
全面披露:这个包是我写的。
答案3
答案4
也许可以使用 pip-tools,网址为https://github.com/nvie/pip-tools,可能会帮助你实现你的愿望吗?
README 中的一个示例:
$ pip-review --interactive
requests==0.14.0 available (you have 0.13.2)
Upgrade now? [Y]es, [N]o, [A]ll, [Q]uit y
...
redis==2.6.2 available (you have 2.4.9)
Upgrade now? [Y]es, [N]o, [A]ll, [Q]uit n
rq==0.3.2 available (you have 0.3.0)
Upgrade now? [Y]es, [N]o, [A]ll, [Q]uit y
...