web-dev-qa-db-ja.com

古い/更新可能なpipパッケージを見つける

インストールされているパッケージがpipフリーズに表示されますが、どのパッケージが古いかをpypiに対して確認するにはどうすればよいですか?

109
Xster

バージョン1.3以降、pipには新しいコマンドが含まれています。

$ pip list --outdated
requests (Current: 1.1.0 Latest: 1.2.0)

詳細は this post を参照してください。

171
Danilo Bargen

このピップフォークを使用します。

https://github.com/dgladkov/pip

これは、このコマンドを使用して必要なことを正確に実行します。

$ pip list --outdated

私はすべてのパッケージをアップグレードすることはありません。必要なものだけをアップグレードします。プロジェクトが壊れる可能性があるためです

パッケージごとにアップグレードし、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引数を追加します。

完全な開示:このパッケージを作成しました。

6

おそらく 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

0
Alan Hamlett