155

インストールされているすべてのパッケージとそのバージョンを Python で一覧表示する方法はありますか?

python/Lib/site-packages中に入ってどんなファイルやディレクトリが存在するかを確認できることは知っていますが、これは非常に厄介です。npm listnpm -lsなどに似たものを探しています。

4

12 に答える 12

223

pip install があり、インストーラー ツールでどのパッケージがインストールされているかを確認したい場合は、次のように呼び出すだけです。

pip freeze

インストールされているパッケージのバージョン番号も含まれます。

アップデート

pip freezepip が更新され、次の呼び出しと同じ出力が生成されるようになりました。

pip list

ノート

からの出力のpip list形式は異なるため、 の出力を解析する (おそらくバージョン番号を取得するための) シェル スクリプトがありfreeze、スクリプトを を呼び出すように変更したいlist場合は、解析コードを変更する必要があります。

于 2012-10-17T17:31:30.653 に答える
56

help('modules')あなたのためにそれをすべきです。

IPython で:

In [1]: import                      #import press-TAB
Display all 631 possibilities? (y or n)
ANSI                   audiodev               markupbase
AptUrl                 audioop                markupsafe
ArgImagePlugin         avahi                  marshal
BaseHTTPServer         axi                    math
Bastion                base64                 md5
BdfFontFile            bdb                    mhlib
BmpImagePlugin         binascii               mimetools
BufrStubImagePlugin    binhex                 mimetypes
CDDB                   bisect                 mimify
CDROM                  bonobo                 mmap
CGIHTTPServer          brlapi                 mmkeys
Canvas                 bsddb                  modulefinder
CommandNotFound        butterfly              multifile
ConfigParser           bz2                    multiprocessing
ContainerIO            cPickle                musicbrainz2
Cookie                 cProfile               mutagen
Crypto                 cStringIO              mutex
CurImagePlugin         cairo                  mx
DLFCN                  calendar               netrc
DcxImagePlugin         cdrom                  new
Dialog                 cgi                    nis
DiscID                 cgitb                  nntplib
DistUpgrade            checkbox               ntpath
于 2012-10-17T17:31:21.150 に答える
32

インストールされている python ディストリビューションに関する情報を取得したいが、コマンド コンソールやターミナルを使用せずに python コードを使用する場合は、次のコードを使用できます (python 3.4 でテスト済み)。

import pip #needed to use the pip functions
for i in pip.get_installed_distributions(local_only=True):
    print(i)

関数呼び出しはpip.get_installed_distributions(local_only=True)iterable を返します。for ループと print 関数により、 iterable に含まれる要素が改行文字 ( \n) で区切られて出力されます。結果は (インストールされているディストリビューションに応じて) 次のようになります。

cycler 0.9.0
decorator 4.0.4
ipykernel 4.1.0
ipython 4.0.0
ipython-genutils 0.1.0
ipywidgets 4.0.3
Jinja2 2.8
jsonschema 2.5.1
jupyter 1.0.0
jupyter-client 4.1.1
#... and so on...
于 2015-10-31T22:42:20.590 に答える
11

コマンドラインから

python -c help('modules')

すべてのモジュール、および特定のモジュールを表示するために使用できます

python -c help('os')

Linuxの場合、以下が機能します

python -c "help('os')"
于 2016-02-24T12:22:48.453 に答える
10

私の見解:

#!/usr/bin/env python3

import pkg_resources

dists = [str(d).replace(" ","==") for d in pkg_resources.working_set]
for i in dists:
    print(i)
于 2019-03-08T00:07:41.803 に答える
9

あなたが試すことができます :卵黄

卵黄をインストールするには、次を試してください。

easy_install yolk

Yolk は、インストールされている Python パッケージに関する情報を取得し、PyPI (Python Package Index) で利用可能なパッケージを照会するための Python ツールです。

どのパッケージがアクティブ、非アクティブ、または開発モードであるかを確認し、PyPI にクエリを実行することで、より新しいバージョンが利用可能なパッケージを表示できます。

于 2012-12-09T05:50:48.687 に答える
5

はい!Pythonパッケージマネージャーとしてpipを使用する必要があります(http://pypi.python.org/pypi/pip

pipがインストールされたパッケージを使用すると、次のことができます

pip freeze

インストールされているすべてのパッケージが一覧表示されます。おそらくvirtualenvvirtualenvwrapperも使用する必要があります。新しいプロジェクトを開始するときは、次のことができます。

mkvirtualenv my_new_project

そして(そのvirtualenv内で)、

pip install all_your_stuff

このようにして、その virtualenv/project にどのパッケージがインストールされているかを確認workon my_new_projectできます。pip freeze

例えば:

➜  ~  mkvirtualenv yo_dude
New python executable in yo_dude/bin/python
Installing setuptools............done.
Installing pip...............done.
virtualenvwrapper.user_scripts creating /Users/aaylward/dev/virtualenvs/yo_dude/bin/predeactivate
virtualenvwrapper.user_scripts creating /Users/aaylward/dev/virtualenvs/yo_dude/bin/postdeactivate
virtualenvwrapper.user_scripts creating /Users/aaylward/dev/virtualenvs/yo_dude/bin/preactivate
virtualenvwrapper.user_scripts creating /Users/aaylward/dev/virtualenvs/yo_dude/bin/postactivate
virtualenvwrapper.user_scripts creating /Users/aaylward/dev/virtualenvs/yo_dude/bin/get_env_details

(yo_dude)➜  ~  pip install django
Downloading/unpacking django
  Downloading Django-1.4.1.tar.gz (7.7Mb): 7.7Mb downloaded
  Running setup.py egg_info for package django

Installing collected packages: django
  Running setup.py install for django
    changing mode of build/scripts-2.7/django-admin.py from 644 to 755

    changing mode of /Users/aaylward/dev/virtualenvs/yo_dude/bin/django-admin.py to 755
Successfully installed django
Cleaning up...

(yo_dude)➜  ~  pip freeze
Django==1.4.1
wsgiref==0.1.2

(yo_dude)➜  ~  

または、requirements.pip ファイルを含む python パッケージがある場合は、

mkvirtualenv my_awesome_project
pip install -r requirements.pip
pip freeze

トリックを行います

于 2012-10-17T17:31:53.737 に答える
3

If you're using anaconda:

conda list

will do it! See: https://conda.io/docs/_downloads/conda-cheatsheet.pdf

于 2018-04-19T11:07:59.503 に答える
2

PYTHONPATHこれは、python libs dir の絶対パスの代わりに使用する方法です。

for d in `echo "${PYTHONPATH}" | tr ':' '\n'`; do ls "${d}"; done

[ 10:43 Jonathan@MacBookPro-2 ~/xCode/Projects/Python for iOS/trunk/Python for iOS/Python for iOS ]$ for d in `echo "$PYTHONPATH" | tr ':' '\n'`; do ls "${d}"; done
libpython2.7.dylib pkgconfig          python2.7
BaseHTTPServer.py      _pyio.pyc              cgitb.pyo              doctest.pyo            htmlentitydefs.pyc     mimetools.pyc          plat-mac               runpy.py               stringold.pyc          traceback.pyo
BaseHTTPServer.pyc     _pyio.pyo              chunk.py               dumbdbm.py             htmlentitydefs.pyo     mimetools.pyo          platform.py            runpy.pyc              stringold.pyo          tty.py
BaseHTTPServer.pyo     _strptime.py           chunk.pyc              dumbdbm.pyc            htmllib.py             mimetypes.py           platform.pyc           runpy.pyo              stringprep.py          tty.pyc
Bastion.py             _strptime.pyc          chunk.pyo              dumbdbm.pyo            htmllib.pyc            mimetypes.pyc          platform.pyo           sched.py               stringprep.pyc         tty.pyo
Bastion.pyc            _strptime.pyo          cmd.py
....
于 2012-10-17T17:44:28.830 に答える