インストールされているパッケージがpipフリーズに表示されますが、どのパッケージが古いかをpypiに対して確認するにはどうすればよいですか?
バージョン1.3以降、pipには新しいコマンドが含まれています。
$ pip list --outdated
requests (Current: 1.1.0 Latest: 1.2.0)
詳細は this post を参照してください。
私はすべてのパッケージをアップグレードすることはありません。必要なものだけをアップグレードします。プロジェクトが壊れる可能性があるためです。
パッケージごとにアップグレードし、requirements.txtファイルを更新する簡単な方法がなかったため、これを書きました pip-upgrader whichは、選択したパッケージ(またはすべてのパッケージ)の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は、あなたが望むものを達成するのに役立つでしょうか?
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
...
に似ている pip list --outdated
が更新されますrequirements.txt
ファイル:
pur -r requirements.txt
PyPi: https://pypi.python.org/pypi/pur
GitHub: https://github.com/alanhamlett/pip-update-requirements