Python パッケージはどこにインストールされますか

Vaibhhav Khetarpal 2023年10月10日
  1. pip コマンドを使用して、インストールされているパッケージを一覧表示する
  2. conda コマンドを使用して、ローカルにインストールされたパッケージを一覧表示する
  3. python コマンドを使用して、インストールされているパッケージを一覧表示する
  4. distutils.sysconfig モジュールを使用して、インストールされているパッケージを一覧表示する
  5. sysconfig モジュールを使用して、インストールされているパッケージを一覧表示する
Python パッケージはどこにインストールされますか

Python のパッケージは、Python ファイルを含むディレクトリとして定義できます。これらのファイルは通常 Python モジュールです。

プログラムが大きくなり、複雑になると、同様のモジュールがパッケージに配置されます。これにより、プログラムの管理が容易になり、読みやすさが向上します。このアプローチはしばしばモジュラープログラミングと呼ばれ、パッケージはそれを達成するのに役立ちます。

Python がファイルをパッケージと見なすには、ファイル __init__.py がディレクトリ内に含まれている必要があります。このファイルには通常、パッケージの初期化コードが含まれていますが、空のままにしておくこともできます。

このチュートリアルでは、Python パッケージがインストールされているディレクトリを見つけるためのさまざまな方法について説明します。

pip コマンドを使用して、インストールされているパッケージを一覧表示する

Python では、パッケージはグローバルとローカルの両方でインストールできます。

パッケージをグローバルにインストールすると、システム内のすべてのユーザーが利用できます。同じパッケージをローカルにインストールすると、手動でインストールしたユーザーのみが使用できます。

デフォルトでは、pip コマンドはパッケージをグローバルにインストールします。

次のコードは、pip コマンドを使用して、グローバルにインストールされているパッケージを一覧表示します。

# we can also use "pip list command"
pip freeze

デフォルトでは、pip コマンドはパッケージをグローバルにインストールしますが、ローカルに手動でインストールされたパッケージもこのコマンドを使用して表示できます。

次のコードは、pip コマンドを使用して、ローカルにインストールされているパッケージを一覧表示します。

# we can also use "pip list --user"
pip freeze --user

conda コマンドを使用して、ローカルにインストールされたパッケージを一覧表示する

この方法は、AnacondaIDE で作業しているプログラマーに対してのみ機能します。conda 環境でローカルにインストールされたパッケージを一覧表示することができます。これを実行するには、Anaconda プロンプトに 1 行のコードを記述するだけです。

次のコードは、conda を使用して、ローカルにインストールされているパッケージを一覧表示します。

conda list

python コマンドを使用して、インストールされているパッケージを一覧表示する

python コマンドを使用して、パッケージサイトのディレクトリを見つけることができます。

グローバルサイトパッケージ

グローバルサイトパッケージは、sys.path にリストされていることがわかります。

次のコードは、python コマンドを使用して、グローバルにインストールされたパッケージを一覧表示します。

python -m site

site モジュールを python コマンドと一緒に使用して、パッケージのより適切で簡潔なリストを取得することもできます。このメソッドは、site モジュールの getsitepackages() を使用します。

次のコードは、python コマンドと site モジュールを使用して、グローバルにインストールされたパッケージを一覧表示します。

python -c 'import site; print(site.getsitepackages())'

getsitepackages() 関数は virtualenv では使用できないことに注意してください。

ローカルにインストールされたパッケージ

ローカルパッケージは、per-user site-packages ディレクトリ(PEP 370)にインストールされます。

次のコードは、python コマンドを使用して、ローカルにインストールされたパッケージを一覧表示します。

python -m site --user-site

distutils.sysconfig モジュールを使用して、インストールされているパッケージを一覧表示する

distutils パッケージを利用して、Python インストールに追加のモジュールをインストールおよび構築するための関数を提供できます。この場合、パッケージの一覧表示にも使用できます。

次のコードは、distutils.sysconfig を使用して、グローバルにインストールされたパッケージを一覧表示します。

python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"

唯一の欠点は、dist-packages のディレクトリまたはオペレーティングシステムによって自動的にインストールされたパッケージを指していることです。

sysconfig モジュールを使用して、インストールされているパッケージを一覧表示する

Python 3 以降では、sysconfig モジュールを使用して、インストールされているパッケージを一覧表示できます。

sysconfig モジュールは、上記の distutils.sysconfig サブモジュールと間違えられることはありません。後者はまったく異なるモジュールであり、ここで使用される get_paths 関数が不足しています。

次のコードは、sysconfig モジュールを使用して、インストールされているパッケージを一覧表示します。

python -c "import sysconfig; print(sysconfig.get_path('purelib'))"

ここでは、pip などのツールを使用して、標準の Python パッケージがインストールされる purelib パスを使用します。

Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

関連記事 - Python Installation