複数のPythonバージョンとPIPを扱いますか?


500

pipPythonの複数のバージョンでうまく機能させる方法はありますか?たとえばpip、サイト2.5インストールまたはサイト2.6インストールのいずれかに明示的にインストールするために使用したいと思います。

たとえば、ではeasy_install、を使用しますeasy_install-2.{5,6}

そして、はい— virtualenvについては知っていますが、いいえ—それはこの特定の問題の解決策ではありません。


1
@YiboYangはそれはのようなもので動作しないpip34pip35
JinSnow

2
@JinSnow pip3.xパッケージをインストールしたい(おそらく実行pip3.x -Vして確認する)Pythonバージョンを実際に管理するために提供されます。または、@ Hugoのソリューションを使用して、多くのPythonバージョンをより適切に制御できます。
Yibo Yang

回答:


625

現在の勧告は、使用することですpython -m pippythonあなたが使用したいのPythonのバージョンです。これは、Pythonのすべてのバージョンで、およびすべての形式のvirtualenvで機能するため、推奨されます。例えば:

# The system default python:
$ python -m pip install fish

# A virtualenv's python:
$ .env/bin/python -m pip install fish

# A specific version of python:
$ python-3.6 -m pip install fish

前の答え、後世に残した:

バージョン0.8以降、Pipはをサポートしていますpip-{version}。あなたはそれを同じように使うことができますeasy_install-{version}

$ pip-2.5 install myfoopackage
$ pip-2.6 install otherpackage
$ pip-2.7 install mybarpackage

編集:pip はバージョン1.5 pipVERSIONではなく使用するようにスキーマを変更しましたpip-VERSION。ある場合は、以下を使用する必要がありますpip >= 1.5

$ pip2.6 install otherpackage
$ pip2.7 install mybarpackage

詳細については、https://github.com/pypa/pip/pull/1053を確認してください


参照:


12
動作しません。最新バージョンのpipはpip-2.6スクリプトをインストールしましたが、pip-2.5スクリプトをインストールする必要はありませんでした。
クリスB.

2
python2.5 pipバージョンを更新する必要があります...これは、pipを使用しているpythonでのみpip- {PYVERSION}を作成します。
Hugo Tavares、

4
これは誤りです。UbuntuでPython2.7を使用してpip 1.2.1を実行しています。代替のpipバージョンはありません。
Cerin、2012年

2
@rodling:おそらく/ pip経由でインストールしなかったか、またはpython2.7を持っていません。あなたはpython2.7を持っている場合は、試してください:あなたが持つべきとpipeasy_installget-pip.pypip install --upgrade pippippip-2.7
ヒューゴ・タバレス

2
@JCRocamonde:プログラムpipは環境変数$ PATHに基づいて選択されます。「デフォルト」のpipプログラムを変更する場合は、$ PATH環境変数を並べ替えます。$ PATHの詳細については、「パス環境変数linux」などを検索してください。
Hugo Tavares

117

Windowsでは、あなたはを通して与えられたPythonのバージョンを使用してPIPモジュールを実行することができますPythonのランチャーpy.exeあなたは、Python 3セットアップ中にそれをインストールすることを選択した場合、。

py -3 -m pip install packagename
py -2 -m pip install packagename

さらに具体的にして、Pythonの正確なサブバージョンをリクエストすることができます。

py -3.6 -m pip install packagename

ランチャーから利用できるインストール済みのすべてのPythonバージョンのリストを取得するには、次のコマンドを実行します。

py --list

または、目的のPython実行可能ファイルを直接起動することもできます。

C:/path/to/specific/python.exe -m pip install packagename

11
Windowsに2.7と3.5の両方をインストールすると、これはすぐに機能しました
phil_lgr 2017年

1
持ってする方法はありませんpython2python3pip2およびpip3Windows上では?
thomthom 2017

1
これは私にとってWindowsでうまくいきました。3をインストールしてから2をインストールした
daneshjai

1
ありがとう、これは私のために働いた!それがどれほど難しかったか信じられない。(これらまたはバリエーションpython-3.7 -m pip installまたはpython-3.7 -m pip installまたはpython3.7 -m pip installのどれも私にとっては
うまくいき

75

/path/to/python2.{5,6} /path/to/pip install PackageName 動作しませんか?

これが、pipがまだインストールされていないpythonバージョンで機能するには、pipをダウンロードして実行する必要がありますpython*version* setup.py install。例えばpython3.3 setup.py install。これにより、コメントのインポートエラーが解決されます。(@hbdgafの提案どおり)


4
これをpython 3で機能させるには、pipをダウンロードして「python3 setup.py install」を実行する必要があります。個人的には、この解決策はあまり良くないと思います。まず、pipコマンドがバイナリではないことを知りませんでした。これは@bwintonを批判するものではありません。これを行うためのより良い方法がないことに驚きました。
Mike Vella 2012

28
「ImportError:pkg_resourcesという名前のモジュールはありません」
Cerin

3
importerrorの問題は、その上の1つのコメントの解決策よりもアップティックが多くなっていることに困惑しています。
RobotHumans 2014年

1
また、へ/ピップ/パスは/本である:。python2 {5,6} /スクリプト/ PIP2 {5,6}
ラウル

2
Pythonのモジュールを呼び出すには、次を使用する必要がありますpython2.7 -m pip install PackageName
llrs

52

私はデフォルトでpython 2.6(Amazon EC2 AMI)をインストールしていましたが、アプリケーションにpython2.7といくつかの外部パッケージが必要でした。デフォルトのpython(私の場合は2.6)と共にpython2.7をすでにインストールしていると仮定します。デフォルトでないpython2.7のpipとパッケージをインストールする方法

pythonバージョンのpipをインストールします。

curl -O https://bootstrap.pypa.io/get-pip.py
python27 get-pip.py

特定のpipバージョンを使用してパッケージをインストールします。

pip2.7 install mysql-connector-python --allow-external mysql-connector-python

2
次のようにpython 3.4でうまくpython3 get-pip.pyいきました:後でpipコマンドを使用pip34 install example
Karl Adler

ありがとう。非常に便利。2つの異なるサーバーでテスト済み。
user2099484

3
これは、「python27 get-pip.py」の代わりに「python2.7 get-pip.py」を使用したときに機能しました
SummerEla

大ざっぱな感じがしたが、Centos 5にpip2.6をインストールすることでうまくいった男
Aaron R.

得た Could not find a version that satisfies the requirement pip (from versions: ) No matching distribution found for pip私が試したときにたpython2.6 get-pip.py
パイダーマン

29

これは、Windowsで次のように機能しました。

  1. Pythonファイルpython.pyとpythonw.exeの名前をpython3.py pythonw3.pyに変更しました

  2. 次に、プロンプトでこのコマンドを実行しました。

    python3 -m pip install package


4
Macでpipを使用してpython3にパッケージをインストールする方法を理解している他の人のために、このコマンドはパッケージをインストールする方法です。検索に何時間も費やし、ようやく見つけました!
シドニー2016

25

他の回答は、2.Xと3.X Pythonの両方でpipを使用する方法を示していますが、複数のPythonディストリビューション(例:オリジナルのPythonとAnaconda Python)のケースを処理する方法を示していません。

私は合計3つのPythonバージョンを持っています:オリジナルのPython 2.7とPython 3.5、そしてAnaconda Python 3.5。

ここに私がパッケージをインストールする方法があります:

  1. オリジナルのPython 3.5

    /usr/bin/python3 -m pip install python-daemon
  2. オリジナルのPython 2.7

    /usr/bin/python -m pip install python-daemon
  3. Anaconda Python 3.5

    python3 -m pip install python-daemon

    または

    pip3 install python-daemon

    Anacondaがユーザー環境で元のPythonバイナリをオーバーライドするため、より簡単です。

    もちろん、anacondaへのインストールはcondaコマンドで行う必要があります。これは単なる例です。


また、特定のpythonにpipがインストールされていることを確認してください。手動でpipをインストールする必要がある場合があります。これはUbuntu 16.04で機能します。

sudo apt-get install python-pip 

または

sudo apt-get install python3-pip

ここでのアナコンダに関するアドバイスは正確ではありません...それは何も「オーバーライド」しません。システムのデフォルトとしてAnacondaのバージョンを選択しているという事実は、特定の構成、各インタープリターのインストール方法、および環境のパスの順序の副作用です。これらは他のユーザーによって異なります。
Corey Goldberg

@CoreyGoldberg同意します。これは、Ubuntu 16.04のインストールのデフォルトでした
quasoft '23

1
あなたは、男です。この問題を取り巻くまったく役に立たない説明の中で、これは私にとって意味のある唯一の説明です。これらのコマンドに別名を付けて、私の人生を始める時間です!ありがとうございました。
Iofacture 2017年

14

最近この問題に遭遇しましたが、Python 2も搭載しているLinuxシステムで、Python 3の適切なピップが得られないことがわかりました。

まず、Pythonバージョンのpipがインストールされていることを確認する必要があります。

Python 2の場合:

sudo apt-get install python-pip

Python 3の場合:

sudo apt-get install python3-pip

次に、あるバージョンのPythonまたは他のバージョンのパッケージをインストールするには、Python 2で次のコマンドを使用するだけです。

pip install <package>

またはPython 3の場合:

pip3 install <package>

11

pipもpythonパッケージです。したがって、特定のpythonバージョンにモジュールをインストールする最も簡単な方法は以下のとおりです。

 python2.7 /usr/bin/pip install foo

または

python2.7 -m pip install foo

10

したがって、easy_install との バージョンが複数あるようですpip。それは大きな混乱のようです。とにかく、これは私がUbuntu 12.10にPython 2.7用のDjangoをインストールするためにしたことです:

$ sudo easy_install-2.7 pip
Searching for pip
Best match: pip 1.1
Adding pip 1.1 to easy-install.pth file
Installing pip-2.7 script to /usr/local/bin

Using /usr/lib/python2.7/dist-packages
Processing dependencies for pip
Finished processing dependencies for pip

$ sudo pip-2.7 install django
Downloading/unpacking django
  Downloading Django-1.5.1.tar.gz (8.0Mb): 8.0Mb downloaded
  Running setup.py egg_info for package django

    warning: no previously-included files matching '__pycache__' found under directory '*'
    warning: no previously-included files matching '*.py[co]' found under directory '*'
Installing collected packages: django
  Running setup.py install for django
    changing mode of build/scripts-2.7/django-admin.py from 644 to 755

    warning: no previously-included files matching '__pycache__' found under directory '*'
    warning: no previously-included files matching '*.py[co]' found under directory '*'
    changing mode of /usr/local/bin/django-admin.py to 755
Successfully installed django
Cleaning up...

$ python
Python 2.7.3 (default, Sep 26 2012, 21:51:14) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> 

8

ここから:https : //docs.python.org/3/installing/

linux、mac、posixと同時にインストールされるさまざまなバージョンのパッケージをインストールする方法は次のとおりです。

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
python3.5 -m pip install SomePackage  # specifically Python 3.5
python3.6 -m pip install SomePackage  # specifically Python 3.6

のWindows、-mスイッチと組み合わせてPY Pythonのランチャーを使用します。

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

:また、チェックアウトを検討 pipenv
jmunsch

7

Linux、Mac OS X、およびその他のPOSIXシステムでは、バージョン付きのPythonコマンドを-mスイッチと組み合わせて使用​​して、の適切なコピーを実行しますpip

python2.7 -m pip install SomePackage
python3.4 -m pip install SomePackage

(適切にバージョン管理されたpipコマンドも使用できる場合があります)

Windowsでは、スイッチpyと組み合わせてPythonランチャーを使用します-m

py -2.7 -m pip install SomePackage  # specifically Python 2.7
py -3.4 -m pip install SomePackage  # specifically Python 3.4

エラーが発生した場合は、py -3.4次を試してください:

pip install SomePackage

5

Pythonの複数バージョンとそれぞれのパッケージのインストール。

同じWindowsマシン上のPythonバージョン:2.7、3.4および3.6

Pythonの3つのバージョンすべてのインストール

  • Python 2.7、3.4、および3.6を以下のパスでインストールしました

ここに画像の説明を入力してください

Pythonの3つのバージョンすべてのPATH

  • PATH変数(システム変数内)に含まれるパスが含まれていることを確認しました-C:\ Python27 \; C:\ Python27 \ Scripts; C:\ Python34 \; C:\ Python34 \ Scripts; C:\ Python36 \; C:\ Python36 \ Scripts \;

バージョンの実行可能ファイルの名前を変更する

  • C:\ Python36およびC:\ Python34のpython実行可能ファイル名をそれぞれpython36およびpython34に変更しました。

ここに画像の説明を入力してください

すべてのバージョンでコマンドプロンプトを確認しました。

ここに画像の説明を入力してください

バージョンごとにパッケージを個別にインストールする

ここに画像の説明を入力してください


ありがとう!!! これが最良の方法です
rakshit ks

4

複数のバージョンと複数のアーキテクチャ(32ビット、64ビット)がある場合は、バージョンの最後に-32または-64を追加する必要があります。

Windowsの場合、cmdに移動してpy --listと入力すると、インストールしたバージョンが生成されます。リストは次のようになります。

Installed Pythons found by py Launcher for Windows
 -3.7-64 *
 -3.7-32
 -3.6-32

例としての完全なコマンドは次のとおりです。

py -3.6-32 -m pip install (package)

さらに詳しく知りたい場合、特定のバージョンのパッケージを特定のバージョンのpythonにインストールするには、パッケージの後に==(version)を使用します。例として、

py -3.6-32 -m pip install opencv-python==4.1.0.25

2

ここでの回答のほとんどは問題に対処していますが、/usr/localCentOS 7 でのPythonの代替インストールの作成に関して絶えず混乱しているものを追加したいと思います。pip2.7 installし、モジュールをインストールします。しかし、私が理解できなかったのは、新しくインストールしたバージョンのpythonに、インストールしているものが表示されなかった理由です。

CentOS 7では、/usr/binフォルダーにpython2.7とpip2.7が既に存在することがわかりました。新しいpythonディストリビューションにpipをインストールするには、sudoに次のように指示する必要があります。/usr/local/bin

sudo /usr/local/bin/python2.7 -m ensurepip

これ/usr/local/binにより、Pythonのバージョンとともに、pip2.7がフォルダーにインストールされます。トリックは、モジュールをインストールしたいときに、sudo $PATH変数を変更してインクルードする/usr/local/binか、実行する必要があるということです。

sudo /usr/local/bin/pip2.7 install <module>

新しいモジュールをインストールする場合。sudoすぐには見られなかったことを思い出すのに永遠にかかりました/usr/local/bin


2

これが私の問題です。Python3で動作します。主な機能は次のとおりです。

  • 各Pythonバージョンはソースからコンパイルされます
  • すべてのバージョンがローカルにインストールされています
  • システムのデフォルトのPythonインストールを破壊しない
  • 各Pythonバージョンはvirtualenvで分離されています

手順は次のとおりです。

  1. 他の方法でいくつかの追加のpythonバージョンをインストールしている場合は、それらを取り除きます。たとえば、$ HOME / .local / lib / python3.xを削除します(グローバルにインストールされたものも同様)。ただし、システムのデフォルトのpython3バージョンには触れないでください。

  2. 次のディレクトリ構造の下にあるさまざまなpythonバージョンのソースをダウンロードします。

    $HOME/
        python_versions/ : download Python-*.tgz packages here and "tar xvf" them.  You'll get directories like this:
          Python-3.4.8/
          Python-3.6.5/
          Python-3.x.y/
          ...
  3. 各「Python-3.xy /」ディレクトリで、次の手順を実行します(どのステップでも「sudo」を使用しないでください!):

    mkdir root
    ./configure --prefix=$PWD/root 
    make -j 2
    make install
    virtualenv --no-site-packages -p root/bin/python3.x env
  4. 「python_versions /」で、次のようなファイルを作成します。

    env_python3x.bash:
    
    #!/bin/bash
    echo "type deactivate to exit"
    source $HOME/python_versions/Python-3.x.y/env/bin/activate
  5. 今、あなたがpython3.xを選ぶことを望むときはいつでも、

    source $HOME/python_versions/env_python3x.bash

    virtualenvに入る

  6. virtualenvで、お気に入りのPythonパッケージを次のようにインストールします。

    pip install --upgrade package_name
  7. virtualenvおよびpythonバージョンを終了するには、「deactivate」と入力します。

更新

--no-site-packages廃止予定のようです。これには簡単な修正があります。virtualenvをアクティブにしたら、HOME env変数を実際のホームディレクトリ以外の場所に指定するだけです。

export HOME=some/where/else

これを行う一般的な方法は次のとおりです。

  • virtualenvを作成する
  • virtualenvをアクティブにする
  • 既存のライブラリをvirtualenvに「リサイクル」する場合は、既存のインストールからライブラリをソフトリンクします。 ln -s $HOME/.local/lib/python3.6/site-packages/numpy $PWD/venv/lib/python3.6/site-packages/
  • するexport PYTHONPATH=export HOME=/some/other/dir

これで、カスタム分離されたvirtualenvができました。


0

コンテキスト:Archlinux

アクション:
python2-pipをインストールします。
sudo pacman -S python2-pip

これで、pip2.7が得られました。
sudo pip2.7 install boto

テスト(私の場合は 'boto'が必要です):
次のコマンドを実行します。

python2
import boto

成功:エラーなし。

終了:Ctrl+D


0

たとえば、他のバージョン(例:3.5)をデフォルトとして設定し、python 2.7にpipをインストールする場合:

  1. https://pypi.python.org/pypi/pipで pipをダウンロードします
  2. tarファイルを解凍
  3. ファイルのディレクトリに移動します
  4. sudo python2.7 setup.py install

0

たとえば、C:\ Python2.7 \ Scriptsに移動して、そのパスからcmdを実行できます。その後、pip2.7 install yourpackage ...を実行できます。

これにより、そのバージョンのPythonのパッケージがインストールされます。


0

これはおそらく完全に間違っていることです(私はpython noobです)が、pipファイルを編集しました

#!/usr/bin/env python3 <-- I changed this line.

# -*- coding: utf-8 -*-
import re
import sys

from pip._internal import main

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
    sys.exit(main())

0

特にWindowsの場合: \ path \ to \ python.exe -m pip install PackageNameが機能します。


0

ブレンダーの場合:

/usr/bin $ python3.7 -m pip install irc
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.