Answers:
问题是,我从不升级所有软件包。我只升级我需要的东西,因为项目可能会中断。
因为没有简便的方法来逐个软件包升级软件包和更新requirements.txt文件,所以我写了这个pip-upgrader,它也requirements.txt
为所选软件包(或所有软件包)更新了文件中的版本。
安装
pip install pip-upgrader
用法
激活您的virtualenv(这很重要,因为它还将在当前virtualenv中安装新版本的升级软件包)。
cd
进入您的项目目录,然后运行:
pip-upgrade
高级用法
如果需求放置在非标准位置,请将其作为参数发送:
pip-upgrade path/to/requirements.txt
如果您已经知道要升级的软件包,只需将它们作为参数发送:
pip-upgrade -p django -p celery -p dateutil
如果需要升级到发行前/发行后版本,--prerelease
请在命令中添加参数。
全面披露:我写了这个包裹。
也许在https://github.com/nvie/pip-tools上提供的pip-tools 可能会帮助您实现所需的目标?
自述文件中的一个示例:
$ 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
...
类似于pip list --outdated
但更新requirements.txt
文件:
pur -r requirements.txt
PyPi:https://pypi.python.org/pypi/pur
GitHub:https : //github.com/alanhamlett/pip-update-requirements