サーチ…


前書き

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

出典:wiki.python.org

パッケージをインストールする

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ファイルを作成する

pipfreezeオプションを指定することによってrequirements.txtファイルを作成するのに役立ちます。

pip freeze > requirements.txt

これにより、システムにインストールされているすべてのパッケージとそのバージョンのリストが、現在のフォルダのrequirements.txtという名前のファイルに保存されます。

現在のvirtualenvでのみパッケージのrequirements.txtファイルを作成する

pipfreezeオプションを指定することによって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つのオプションがあります。

  1. 圧縮スナップショットをダウンロードすると、ほとんどのオンラインバージョン管理システムでは、コードの圧縮スナップショットをダウンロードすることができます。これは手動でダウンロードし、 pip install path / to / downloaded / fileで pip installことができます。ほとんどの圧縮形式ではpipがキャッシュ領域などへのアンパックを処理することに注意してください。
  2. あなたがダウンロードしてあなたのために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+接頭辞に注意してください。

  1. 使用してリポジトリをクローンgitmercurialまたは他の許容可能なツール、 好ましくは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コマンドを使用して、リポジトリの履歴を元のバージョンに戻して再試行します。


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow