Pythonモジュールのインストール
人気のあるオープンソース開発プロジェクトとして、Pythonには貢献者とユーザーの活発なサポートコミュニティがあり、他のPython開発者がオープンソースライセンス条項の下でソフトウェアを使用できるようにしています。
これにより、Pythonユーザーは効果的に共有およびコラボレーションできるようになり、一般的な(場合によってはまれな)問題に対して他のユーザーがすでに作成したソリューションの恩恵を受け、共通のプールに独自のソリューションを提供できる可能性があります。
このガイドでは、プロセスのインストール部分について説明します。 独自のPythonプロジェクトを作成して共有するためのガイドについては、配布ガイドを参照してください。
ノート
企業やその他の機関のユーザーの場合、多くの組織がオープンソースソフトウェアの使用と貢献に関する独自のポリシーを持っていることに注意してください。 Pythonで提供される配布およびインストールツールを使用する場合は、このようなポリシーを考慮に入れてください。
重要な用語
pip
が推奨されるインストーラープログラムです。 Python 3.4以降、Pythonバイナリインストーラーにデフォルトで含まれています。- 仮想環境は、システム全体にインストールするのではなく、特定のアプリケーションで使用するためにパッケージをインストールできるようにする、半分離型のPython環境です。
venv
は、仮想環境を作成するための標準ツールであり、Python3.3以降Pythonの一部となっています。 Python 3.4以降、デフォルトでは、作成されたすべての仮想環境にpip
がインストールされます。virtualenv
は、venv
のサードパーティの代替(およびその前身)です。 これにより、venv
をまったく提供しない、または作成された環境にpip
を自動的にインストールできない、3.4より前のバージョンのPythonで仮想環境を使用できます。- Python Package Index は、他のPythonユーザーが使用できるようになっているオープンソースライセンスパッケージのパブリックリポジトリです。
- Python Packaging Authority は、標準のパッケージツールと関連するメタデータおよびファイル形式の標準の保守と進化を担当する開発者とドキュメント作成者のグループです。 GitHub と Bitbucket の両方で、さまざまなツール、ドキュメント、および問題追跡システムを維持しています。
distutils
は、1998年にPython標準ライブラリに最初に追加されたオリジナルのビルドおよび配布システムです。distutils
の直接使用は段階的に廃止されていますが、現在のパッケージングおよび配布インフラストラクチャの基盤を築いており、標準ライブラリの一部であるだけでなく、その名前は他の方法( Pythonパッケージング標準の開発を調整するために使用されるメーリングリストの名前)。
バージョン3.5で変更:仮想環境の作成にはvenv
の使用が推奨されるようになりました。
基本的な使い方
標準のパッケージツールはすべて、コマンドラインから使用できるように設計されています。
次のコマンドは、Python PackageIndexからモジュールの最新バージョンとその依存関係をインストールします。
python -m pip install SomePackage
ノート
POSIXユーザー(macOSおよびLinuxユーザーを含む)の場合、このガイドの例では、仮想環境の使用を想定しています。
Windowsユーザーの場合、このガイドの例では、Pythonのインストール時にシステムPATH環境変数を調整するオプションが選択されていることを前提としています。
コマンドラインで直接、正確なバージョンまたは最小バージョンを指定することもできます。 >
、<
など、シェルによって解釈される特殊文字を使用する場合は、パッケージ名とバージョンを二重引用符で囲む必要があります。
python -m pip install SomePackage==1.0.4 # specific version
python -m pip install "SomePackage>=1.0.4" # minimum version
通常、適切なモジュールがすでにインストールされている場合、それを再インストールしようとしても効果はありません。 既存のモジュールのアップグレードは、明示的に要求する必要があります。
python -m pip install --upgrade SomePackage
pip
とその機能に関する詳細とリソースは、 Pythonパッケージユーザーガイドにあります。
仮想環境の作成は、 venv モジュールを介して行われます。 アクティブな仮想環境にパッケージをインストールするには、上記のコマンドを使用します。
どうすれば…?
これらは、いくつかの一般的なタスクのクイックアンサーまたはリンクです。
…Python3.4より前のバージョンのPythonにpipをインストールしますか?
Pythonは、Python3.4でpip
のバンドルを開始しただけです。 以前のバージョンでは、Pythonパッケージユーザーガイドの説明に従って、pip
を「ブートストラップ」する必要があります。
…現在のユーザー専用のパッケージをインストールしますか?
--user
オプションをpython -m pip install
に渡すと、システムのすべてのユーザーではなく、現在のユーザー専用のパッケージがインストールされます。
…科学的なPythonパッケージをインストールしますか?
多くの科学的なPythonパッケージには複雑なバイナリ依存関係があり、現在pip
を直接使用してインストールするのは簡単ではありません。 この時点で、ユーザーがこれらのパッケージをpip
でインストールするよりも、他の手段でインストールする方が簡単な場合がよくあります。
…並列にインストールされたPythonの複数のバージョンで動作しますか?
Linux、macOS、およびその他のPOSIXシステムでは、バージョン管理されたPythonコマンドを-m
スイッチと組み合わせて使用して、pip
の適切なコピーを実行します。
python2 -m pip install SomePackage # default Python 2
python2.7 -m pip install SomePackage # specifically Python 2.7
python3 -m pip install SomePackage # default Python 3
python3.4 -m pip install SomePackage # specifically Python 3.4
適切にバージョン管理されたpip
コマンドも使用できる場合があります。
Windowsでは、py
Pythonランチャーを-m
スイッチと組み合わせて使用します。
py -2 -m pip install SomePackage # default Python 2
py -2.7 -m pip install SomePackage # specifically Python 2.7
py -3 -m pip install SomePackage # default Python 3
py -3.4 -m pip install SomePackage # specifically Python 3.4
一般的なインストールの問題
Linux上のPythonをシステムにインストールする
Linuxシステムでは、通常、Pythonインストールがディストリビューションの一部として含まれます。 このPythonインストールにインストールするには、システムへのrootアクセスが必要であり、pip
を使用してコンポーネントが予期せずアップグレードされた場合、システムパッケージマネージャーおよびシステムの他のコンポーネントの動作を妨げる可能性があります。
このようなシステムでは、pip
を使用してパッケージをインストールするときに、仮想環境またはユーザーごとのインストールを使用する方がよい場合がよくあります。
ピップがインストールされていません
pip
がデフォルトでインストールされない可能性があります。 考えられる修正の1つは次のとおりです。
python -m ensurepip --default-pip
バイナリ拡張機能のインストール
Pythonは通常、ソースベースの配布に大きく依存しており、エンドユーザーはインストールプロセスの一部としてソースから拡張モジュールをコンパイルすることが期待されています。
バイナリwheel
形式のサポートの導入、およびPython Package Indexを介して少なくともWindowsおよびmacOSのホイールを公開する機能により、ユーザーがより定期的にできるようになるため、この問題は時間の経過とともに減少すると予想されます。自分でビルドする必要はなく、ビルド済みの拡張機能をインストールします。
ビルド済みのwheel
ファイルとしてまだ利用できない科学ソフトウェアをインストールするためのソリューションのいくつかは、ローカルでビルドする必要なしに他のバイナリ拡張を取得するのにも役立つ場合があります。