Python Language
pip:PyPIパッケージマネージャ
サーチ…
前書き
pipはPython Package Indexで最も広く使われているパッケージマネージャです。Pythonの最新バージョンではデフォルトでインストールされます。
構文
- pip <command> [options] <command>は次のいずれかです。
- インストール
- パッケージをインストールする
- アンインストール
- パッケージのアンインストール
- フリーズする
- インストールされたパッケージを要件書式で出力する
- リスト
- インストールされているパッケージの一覧
- ショー
- インストールされたパッケージに関する情報を表示する
- サーチ
- パッケージのPyPIを検索する
- ホイール
- あなたの要件からホイールを構築する
- ジップ
- 個々のパッケージを圧縮(廃止予定)
- 解凍する
- 個々のパッケージを解凍する(非推奨)
- バンドル
- pybundlesを作成する(非推奨)
- 助けて
- コマンドのヘルプを表示する
- インストール
備考
場合によっては、 pip
はネイティブコードの手動コンパイルを行います。 Linuxでは、Pythonはシステム上で利用可能なCコンパイラを自動的に選択します。 Windows上で必要なVisual Studio / Visual C ++のバージョンについては、下の表を参照してください(新しいバージョンは動作しません)。
Pythonバージョン | Visual Studioバージョン | Visual C ++バージョン |
---|---|---|
2.6 - 3.2 | Visual Studio 2008 | Visual C ++ 9.0 |
3.3 - 3.4 | Visual Studio 2010 | Visual C ++ 10.0 |
3.5 | Visual Studio 2015 | Visual C ++ 14.0 |
パッケージをインストールする
SomePackage
という名前のパッケージの最新バージョンをインストールするには:
$ pip install SomePackage
特定のバージョンのパッケージをインストールするには:
$ pip install SomePackage==1.0.4
パッケージにインストールする最小バージョンを指定するには:
$ pip install SomePackage>=1.0.4
コマンドがLinux / Unix上でパーミッション拒否エラーを表示した場合、コマンドにsudo
を使用します
要件ファイルからインストールする
$ pip install -r requirements.txt
要件ファイルの各行は、インストールするものを示し、pipインストールの引数と同様に、ファイルの形式の詳細は次のとおりです。 要件ファイルの形式 。
パッケージをインストールした後、 freeze
コマンドを使用してチェックすることができます:
$ pip freeze
パッケージのアンインストール
パッケージをアンインストールするには:
$ pip uninstall SomePackage
`pip`を使ってインストールされたすべてのパッケージを一覧表示するには
インストールされたパッケージを一覧表示するには:
$ pip list
# example output
docutils (0.9.1)
Jinja2 (2.6)
Pygments (1.5)
Sphinx (1.1.2)
古いパッケージを一覧表示し、利用可能な最新バージョンを表示するには:
$ pip list --outdated
# example output
docutils (Current: 0.9.1 Latest: 0.10)
Sphinx (Current: 1.1.2 Latest: 1.1.3)
パッケージのアップグレード
ランニング
$ pip install --upgrade SomePackage
パッケージSomePackage
とそのすべての依存関係をアップグレードします。また、pipはアップグレードの前に古いバージョンのパッケージを自動的に削除します。
pip自体をアップグレードするには、
$ pip install --upgrade pip
Unixまたは
$ python -m pip install --upgrade pip
Windowsマシン上。
Linuxで古いパッケージをすべて更新する
pip
は、ユーザーが一度にすべての古いパッケージを更新できるようにするフラグが含まれていません。しかし、これは、Linux環境でコマンドを一緒に配管することで実現できます。
pip list --outdated --local | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U
このコマンドは、ローカルのvirtualenv内のすべてのパッケージを取り出し、古いものかどうかをチェックします。そのリストから、パッケージ名を取得し、 pip install -U
コマンドにパイプします。このプロセスの最後に、すべてのローカルパッケージを更新する必要があります。
Windowsで古いパッケージをすべて更新する
pip
は、ユーザーが一度にすべての古いパッケージを更新できるようにするフラグが含まれていません。ただし、これは、Windows環境でコマンドを一緒に配管することで実現できます。
for /F "delims= " %i in ('pip list --outdated --local') do pip install -U %i
このコマンドは、ローカルのvirtualenv内のすべてのパッケージを取り出し、古いものかどうかをチェックします。そのリストから、パッケージ名を取得し、 pip install -U
コマンドにパイプします。このプロセスの最後に、すべてのローカルパッケージを更新する必要があります。
システム上のすべてのパッケージのrequirements.txtファイルを作成する
pip
はfreeze
オプションを指定することによってrequirements.txt
ファイルを作成するのに役立ちます。
pip freeze > requirements.txt
これにより、システムにインストールされているすべてのパッケージとそのバージョンのリストが、現在のフォルダのrequirements.txt
という名前のファイルに保存されます。
現在のvirtualenvでのみパッケージのrequirements.txtファイルを作成する
pip
はfreeze
オプションを指定することによってrequirements.txt
ファイルを作成するのに役立ちます。
pip freeze --local > requirements.txt
--local
パラメータは、virtualenvにローカルにインストールされているパッケージとバージョンのリストのみを出力します。グローバルパッケージはリストされません。
pipで特定のPythonバージョンを使用する
Python 3とPython 2の両方がインストールされている場合、pipで使用するPythonのバージョンを指定できます。これは、パッケージがPython 2または3のみをサポートしている場合、または両方でテストしたい場合に便利です。
Python 2用のパッケージをインストールする場合は、次のいずれかを実行します。
pip install [package]
または:
pip2 install [package]
Python 3用のパッケージをインストールする場合は、次のようにします。
pip3 install [package]
特定のPythonインストールにパッケージのインストールを呼び出すには、次のようにします。
\path\to\that\python.exe -m pip install some_package # on Windows OR
/usr/bin/python25 -m pip install some_package # on OS-X/Linux
OS-X / Linux / Unixプラットフォームでは、Pythonのシステムバージョン(システムを動作不能にするアップグレード)とPythonのユーザーバージョンとの区別に注意することが重要です。あなたは 、あなたが アップグレードしようとしているものに応じて 、これらのコマンドの前にsudo
をつけてパスワードを入力する必要があります。
Windowsの場合と同様に、いくつかのPythonインストール、特に別のパッケージの一部であるインストールは、管理者モードで実行しているコマンドウィンドウからアップグレードする必要のあるシステムディレクトリにインストールされる可能性があります。 python -c"import sys;print(sys.path);"
などのコマンドを使用して、どのPythonインストールをアップグレードしようとしているかを確認することは非常に良い考えpython -c"import sys;print(sys.path);"
またはpy -3.5 -c"import sys;print(sys.path);"
pip --version
実行しようとしているパイプを確認することもできます
Windowsの場合、Python 2とPython 3の両方がインストールされていて、パス上にPython 3が3.4より大きい場合は、おそらくシステムパスにpythonランチャーpy
があるでしょう。次に、次のようなトリックを行うことができます:
py -3 -m pip install -U some_package # Install/Upgrade some_package to the latest python 3
py -3.3 -m pip install -U some_package # Install/Upgrade some_package to python 3.3 if present
py -2 -m pip install -U some_package # Install/Upgrade some_package to the latest python 2 - 64 bit if present
py -2.7-32 -m pip install -U some_package # Install/Upgrade some_package to python 2.7 - 32 bit if present
複数のバージョンのPythonを実行している場合は、pythonのバージョンと存在するパッケージの両方を分離できるように、python virtualenv
またはvenv
仮想 virtualenv
についてお読みになることを強くお勧めします。
車輪としてピップにまだ入っていないパッケージをインストールする
多くの純粋なPythonパッケージは、まだPython Package Indexでは車輪として利用できませんが、まだうまくインストールされています。しかし、Windows上のいくつかのパッケージでは、恐ろしいvcvarsall.batが見つかりませんでした。
問題は、インストールしようとしているパッケージにCまたはC ++の拡張機能が含まれていて、 現在 pythonパッケージのインデックス、 pypi 、およびビルドに必要なツールチェーンを持たないウィンドウのプリビルドホイールとして利用できないということですそのような項目。
最も簡単な答えは、 Christoph Gohlkeの優れたサイトにアクセスし、 必要なライブラリの適切なバージョンを見つけることです。パッケージ内の適切なことで-cp NNに名前を付ける-あなたは-win32-含める必要があり、64ビットのpythonを使用している場合、それは-win_amd64を含まなければならないとしても名をWin64の上の窓32ビットのpythonを使用している、すなわち場合は、パイソンのバージョンと一致する必要があります- Pythonのバージョンが一致する必要があります。つまり、Python 34の場合、ファイル名には-cp 34-などが含まれていなければなりません 。これは基本的にpipがpypiサイトで行う魔法です。
あるいは、あなたが使っているPythonのバージョンの適切なWindows開発キット、インターフェイスをビルドしようとしているパッケージのライブラリ、おそらくPythonのバージョンのためのPythonヘッダなどを入手する必要があります。
Python 2.7はVisual Studio 2008を使用し、Python 3.3および3.4はVisual Studio 2010を使用し、Python 3.5+はVisual Studio 2015を使用します。
- MicrosoftのWebサイトから入手可能な「 Python 2.7用のVisual C ++コンパイラパッケージ 」をインストールするか、
- マイクロソフトのWebサイトから入手可能な「 Windows 7および.NET Framework 4用Windows SDK 」(v7.1)をインストールするか、
- Visual Studio 2015 Community Edition (またはそれ以降のバージョンがリリースされたとき にインストールする)をインストールして、C&C ++サポートをインストールするオプションを デフォルトではなく 選択するようにします。ダウンロードとインストールに最大 8時間かかることがありますこれらのオプションが最初の試行で設定されていることを確認してください。
次に 、ヘッダファイルを見つけ、 必要なパッケージがリンクしているライブラリのリビジョンに合わせて適切な場所にダウンロードする必要があります。
最後に 、pipにビルドをさせることもできます。もちろん、パッケージにまだ依存していない依存関係がある場合は、それらのヘッダファイルも見つける必要があります。
他の方法: ピピやクリストフのサイトでも、あなたが探しているパッケージの少し前のバージョンは、純粋なPythonか、あなたのプラットフォームとPythonバージョン用に事前に構築されていて、それらを使用している可能性がありますあなたのパッケージが利用可能になるまで、見つけました。同様に、最新バージョンのPythonを使用している場合は、パッケージ管理者が少し時間を捉えて、特定のパッケージが本当に必要なプロジェクトの場合は、少し古いPythonを使用しなければならないかもしれません。また、パッケージのソースサイトをチェックして、予めビルドされている、または純粋なPythonとして利用可能なフォークされたバージョンがあるかどうかを確認し、必要な機能を提供する代替パッケージを探すこともできます。 積極的に維持されている 枕は 、 現在6年間で更新されていない PILの代わりにドロップされ、Python 3では利用できません 。
その後 、この問題を抱えている人には、パッケージのバグトラッカーにアクセスして、パッケージメンテナが特定の目的のためにピピの輪を提供することを丁寧に要求するチケットを追加するか、プラットフォームとPythonの組み合わせ、これが行われれば、通常、パッケージのメンテナは、人々が使用している可能性のある組み合わせを見逃していることに気付かないことがあります。
プレリリース版のインストールに関する注意
PipはSemantic Versioningのルールに従い、デフォルトではリリース前のパッケージよりもリリースされたパッケージを優先します。したがって、特定のパッケージがV0.98
としてリリースされていて、リリース候補V1.0-rc1
ある場合、 pip install
デフォルトの動作はV0.98
をインストールすることV0.98
- リリース候補をインストールする場合は、最初に仮想環境でテストするには、 -- --pip install --pre
package-nameまたは--pip install --pre --upgrade
package-nameを使用して有効にすることができます。多くの場合、プレリリースまたはリリース候補は、すべてのプラットフォームとバージョンの組み合わせに対してホイールが構築されていない可能性があるため、上記の問題に遭遇する可能性がさらに高くなります。
開発バージョンのインストールに関する注意
また、pipを使ってgithubや他の場所からパッケージの開発版をインストールすることもできます。そのようなコードは流動的であるため、ホイールを組み込むことはほとんどありませんので、不都合なパッケージにはビルドツールが必要です。いつでも破棄することができます。そのため、ユーザーは仮想環境にそのようなパッケージをインストールすることを強く推奨します。
そのようなインストールには3つのオプションがあります。
- 圧縮スナップショットをダウンロードすると、ほとんどのオンラインバージョン管理システムでは、コードの圧縮スナップショットをダウンロードすることができます。これは手動でダウンロードし、
pip install
path / to / downloaded / fileでpip install
ことができます。ほとんどの圧縮形式ではpipがキャッシュ領域などへのアンパックを処理することに注意してください。 - あなたがダウンロードしてあなたのために
pip install
インストールさせるようにしましょう:pip install
URL / of package / repository - これには--trusted-host
、----client-cert
および/または--proxy
フラグを使用する必要があります特に企業環境では正しく動作します。例えば:
> py -3.5-32 -m venv demo-pip
> demo-pip\Scripts\activate.bat
> python -m pip install -U pip
Collecting pip
Using cached pip-9.0.1-py2.py3-none-any.whl
Installing collected packages: pip
Found existing installation: pip 8.1.1
Uninstalling pip-8.1.1:
Successfully uninstalled pip-8.1.1
Successfully installed pip-9.0.1
> pip install git+https://github.com/sphinx-doc/sphinx/
Collecting git+https://github.com/sphinx-doc/sphinx/
Cloning https://github.com/sphinx-doc/sphinx/ to c:\users\steve-~1\appdata\local\temp\pip-04yn9hpp-build
Collecting six>=1.5 (from Sphinx==1.7.dev20170506)
Using cached six-1.10.0-py2.py3-none-any.whl
Collecting Jinja2>=2.3 (from Sphinx==1.7.dev20170506)
Using cached Jinja2-2.9.6-py2.py3-none-any.whl
Collecting Pygments>=2.0 (from Sphinx==1.7.dev20170506)
Using cached Pygments-2.2.0-py2.py3-none-any.whl
Collecting docutils>=0.11 (from Sphinx==1.7.dev20170506)
Using cached docutils-0.13.1-py3-none-any.whl
Collecting snowballstemmer>=1.1 (from Sphinx==1.7.dev20170506)
Using cached snowballstemmer-1.2.1-py2.py3-none-any.whl
Collecting babel!=2.0,>=1.3 (from Sphinx==1.7.dev20170506)
Using cached Babel-2.4.0-py2.py3-none-any.whl
Collecting alabaster<0.8,>=0.7 (from Sphinx==1.7.dev20170506)
Using cached alabaster-0.7.10-py2.py3-none-any.whl
Collecting imagesize (from Sphinx==1.7.dev20170506)
Using cached imagesize-0.7.1-py2.py3-none-any.whl
Collecting requests>=2.0.0 (from Sphinx==1.7.dev20170506)
Using cached requests-2.13.0-py2.py3-none-any.whl
Collecting typing (from Sphinx==1.7.dev20170506)
Using cached typing-3.6.1.tar.gz
Requirement already satisfied: setuptools in f:\toolbuild\temp\demo-pip\lib\site-packages (from Sphinx==1.7.dev20170506)
Collecting sphinxcontrib-websupport (from Sphinx==1.7.dev20170506)
Downloading sphinxcontrib_websupport-1.0.0-py2.py3-none-any.whl
Collecting colorama>=0.3.5 (from Sphinx==1.7.dev20170506)
Using cached colorama-0.3.9-py2.py3-none-any.whl
Collecting MarkupSafe>=0.23 (from Jinja2>=2.3->Sphinx==1.7.dev20170506)
Using cached MarkupSafe-1.0.tar.gz
Collecting pytz>=0a (from babel!=2.0,>=1.3->Sphinx==1.7.dev20170506)
Using cached pytz-2017.2-py2.py3-none-any.whl
Collecting sqlalchemy>=0.9 (from sphinxcontrib-websupport->Sphinx==1.7.dev20170506)
Downloading SQLAlchemy-1.1.9.tar.gz (5.2MB)
100% |################################| 5.2MB 220kB/s
Collecting whoosh>=2.0 (from sphinxcontrib-websupport->Sphinx==1.7.dev20170506)
Downloading Whoosh-2.7.4-py2.py3-none-any.whl (468kB)
100% |################################| 471kB 1.1MB/s
Installing collected packages: six, MarkupSafe, Jinja2, Pygments, docutils, snowballstemmer, pytz, babel, alabaster, imagesize, requests, typing, sqlalchemy, whoosh, sphinxcontrib-websupport, colorama, Sphinx
Running setup.py install for MarkupSafe ... done
Running setup.py install for typing ... done
Running setup.py install for sqlalchemy ... done
Running setup.py install for Sphinx ... done
Successfully installed Jinja2-2.9.6 MarkupSafe-1.0 Pygments-2.2.0 Sphinx-1.7.dev20170506 alabaster-0.7.10 babel-2.4.0 colorama-0.3.9 docutils-0.13.1 imagesize-0.7.1 pytz-2017.2 requests-2.13.0 six-1.10.0 snowballstemmer-1.2.1 sphinxcontrib-websupport-1.0.0 sqlalchemy-1.1.9 typing-3.6.1 whoosh-2.7.4
URLのgit+
接頭辞に注意してください。
- 使用してリポジトリをクローン
git
、mercurial
または他の許容可能なツール、 好ましくはDVCSツールを、そして使用pip install
クローン化/レポ/に/パスを -この両方のプロセスがどのrequires.textファイル意志とビルドとセットアップの手順を実行し、 手動で変更することができますあなたのクローン化されたリポジトリへのディレクトリと実行pip install -r requires.txt
し、その後python setup.py install
と同じ効果を得るために。このアプローチの大きな利点は、最初のクローン操作はスナップショットのダウンロードよりも時間がかかるかもしれませんが、git:git pull origin master
場合は最新のものに更新でき、現在のバージョンにエラーがある場合はpip uninstall
package-name次にgit checkout
コマンドを使用して、リポジトリの履歴を元のバージョンに戻して再試行します。