pip
Pythonの複数のバージョンでうまくプレイする方法はありますか?たとえば、pip
自分のサイト2.5インストールまたは自分のサイト2.6インストールのいずれかに明示的にインストールするために使用したいと思います。
たとえば、でeasy_install
、私はを使用しますeasy_install-2.{5,6}
。
そして、はい—私はvirtualenvについて知っていますが、いいえ—それはこの特定の問題の解決策ではありません。
現在の推奨事項は、 を使用することですpython -m pip
。ここで、python
は使用したい 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
EDIT : pip は、バージョン 1.5pipVERSION
の代わりに使用するスキーマを変更しました。pip-VERSION
持っている場合は、次を使用する必要がありますpip >= 1.5
。
$ pip2.6 install otherpackage
$ pip2.7 install mybarpackage
詳細については、 https://github.com/pypa/pip/pull/1053を確認してください
参考文献:
Windows では、 Python 3 のセットアップ中にインストールすることを選択した場合、 Python ランチャーを介して特定の Python バージョンを使用して pip モジュールを実行できます。py.exe
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
/path/to/python2.{5,6} /path/to/pip install PackageName
動作しませんか?
pip がまだインストールされていない python バージョンでこれを機能させるには、pip をダウンロードしてpython*version* setup.py install
. たとえばpython3.3 setup.py install
。これにより、コメントのインポート エラーが解決されます。(@hbdgaf の提案による)
デフォルトで 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
このようにWindowsで機能しました:
Python ファイル python.py と pythonw.exe の名前を python3.py pythonw3.py に変更しました
次に、プロンプトで次のコマンドを実行しました。
python3 -m pip install package
他の回答では、2.X と 3.X の両方の Python で pip を使用する方法が示されていますが、複数の Python ディストリビューション (元の Python と Anaconda Python など) のケースを処理する方法は示されていません。
元の Python 2.7 と Python 3.5 と Anaconda Python 3.5 の合計 3 つの Python バージョンがあります。
パッケージをインストールする方法は次のとおりです。
元の Python 3.5 :
/usr/bin/python3 -m pip install python-daemon
元の Python 2.7 :
/usr/bin/python -m pip install python-daemon
アナコンダ 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
私は最近この問題に遭遇し、Python 2 もある Linux システムで Python 3 の正しい pip を取得していないことに気付きました。
まず、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>
どうやら と には複数のバージョンが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
>>>
コンテキスト: Archlinux
アクション:
python2-pip をインストールします。
sudo pacman -S python2-pip
これで pip2.7 ができました:
sudo pip2.7 install boto
テスト (私の場合は「boto」が必要でした):
次のコマンドを実行します。
python2
import boto
成功: エラーなし。
終了: Ctrl+D
python3.6
との両方がインストールされていて、デフォルトで使用しpython3.7
たい場合は、次のことを行う必要があります。pip
python3.7
まず、pip
インストールされていることを確認してくださいpython3.7
python3.7 -m pip install -U pip
今すぐpip3.7
利用可能でなければならないので、編集します.bashrc
nano ~/.bashrc
それに次の行を追加します
alias pip=pip3.7
変更を有効にするには、シェルで次のように入力します。
source ~/.bashrc
ここで、次のように入力すると:
pip --version
あなたは得るべきです:
/usr/local/lib/python3.7/dist-packages/pip (python 3.7) からの pip 20.1.1
つまり、たとえば次のように使用する場合:
pip install <package>
<package>
forをインストールしますpython3.7
たとえば、他のバージョン (3.5 など) をデフォルトとして設定し、python 2.7 用の pip をインストールする場合: