pipを使用して、現在インストールされているパッケージのバージョンを把握することはできますか?
私は知ってpip install XYZ --upgrade
いますが、のようなものがあるかどうか疑問に思っていpip info XYZ
ます。そうでない場合は、現在使用しているバージョンを確認するための最良の方法は何でしょうか。
pip 1.3の時点で、pip show
コマンドがあります。
$ pip show Jinja2
---
Name: Jinja2
Version: 2.7.3
Location: /path/to/virtualenv/lib/python2.7/site-packages
Requires: markupsafe
古いバージョンではpip freeze
、grep
うまく機能するはずです。
$ pip freeze | grep Jinja2
Jinja2==2.7.3
Hugo Tavaresが言った拡張機能を備えたpipでプルリクエストを送信しました:
(例としてスペクラウド)
$ pip show specloud
Package: specloud
Version: 0.4.4
Requires:
nose
figleaf
pinocchio
Pip 1.3 にはlistコマンドも追加されました。
$ pip list
argparse (1.2.1)
pip (1.5.1)
setuptools (2.1)
wsgiref (0.1.2)
インストールyolk
してから実行することもできyolk -l
ます。これにより、優れた出力が得られます。私の小さなvirtualenvで得られるものは次のとおりです。
(venv)CWD> /space/vhosts/pyramid.xcode.com/venv/build/unittest
project@pyramid 43> yolk -l
Chameleon - 2.8.2 - active
Jinja2 - 2.6 - active
Mako - 0.7.0 - active
MarkupSafe - 0.15 - active
PasteDeploy - 1.5.0 - active
Pygments - 1.5 - active
Python - 2.7.3 - active development (/usr/lib/python2.7/lib-dynload)
SQLAlchemy - 0.7.6 - active
WebOb - 1.2b3 - active
account - 0.0 - active development (/space/vhosts/pyramid.xcode.com/project/account)
distribute - 0.6.19 - active
egenix-mx-base - 3.2.3 - active
ipython - 0.12 - active
logilab-astng - 0.23.1 - active
logilab-common - 0.57.1 - active
nose - 1.1.2 - active
pbkdf2 - 1.3 - active
pip - 1.0.2 - active
pyScss - 1.1.3 - active
pycrypto - 2.5 - active
pylint - 0.25.1 - active
pyramid-debugtoolbar - 1.0.1 - active
pyramid-tm - 0.4 - active
pyramid - 1.3 - active
repoze.lru - 0.5 - active
simplejson - 2.5.0 - active
transaction - 1.2.0 - active
translationstring - 1.1 - active
venusian - 1.0a3 - active
waitress - 0.8.1 - active
wsgiref - 0.1.2 - active development (/usr/lib/python2.7)
yolk - 0.4.3 - active
zope.deprecation - 3.5.1 - active
zope.interface - 3.8.0 - active
zope.sqlalchemy - 0.7 - active
grep コマンドを使用して調べることができます。
pip show <package_name>|grep Version
例:
pip show urllib3|grep Version
バージョンのみを表示します。
メタデータ バージョン: 2.0
バージョン: 1.12
pip-check
インストールされているすべてのパッケージとその更新ステータスの概要をすばやく確認できる、というツールもあります。
自分で使用したことはありません。それとこのSOの質問が立て続けに出くわしましたが、言及されていなかったので...
pip list
出力を としてフォーマットするように指示することもできますjson
。バージョンを解析する方が安全な方法かもしれません。
pip list --no-index --format=json | \
jq -r '.[] | select(.name=="Jinja2").version'
# 2.10.1
質問では、どの OS ユーザーが使用しているかは言及されていません (Windows/Linux/Mac)
MacとLinuxで問題なく動作する答えがいくつかあります。
以下のコマンドは、ユーザーが Windows で python パッケージのバージョンを見つけようとしている場合に使用できます。
PowerShell では、以下のコマンドを使用します。
pip list | findstr <PackageName>
例:-pip list | findstr requests
出力:requests 2.18.4