pipを複数のバージョンのPythonとうまく連携させる方法はありますか?例えば、
pip` を使って、私の site 2.5 インストールと site 2.6 インストールのどちらかに明示的にインストールしたいとします。
例えば、easy_install
では、easy_install-2.{5,6}
とします。
virtualenvについては知っていますが、今回の問題の解決にはなりません。
現在の推奨事項]0は、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.5 で pip-VERSION
ではなく pipVERSION
を使用するようにスキーマを変更しました。pip >= 1.5`の場合は以下のようにしてください。
$ pip2.6 install otherpackage
$ pip2.7 install mybarpackage
詳細は https://github.com/pypa/pip/pull/1053 をご覧ください。
参考資料
/path/to/python2.{5,6}./path/to/pip install PackageName
が動作しない?
pipがインストールされていないpythonのバージョンで動作させるには、pipをダウンロードして、python*version* setup.py install
を実行する必要があります。例えば、python3.3 setup.py install
とします。これでコメントのインポートエラーが解消されます。 (@hbdgafの提案による)
どうやら、easy_install
とpip
には複数のバージョンがあるようです。大混乱しているようです。とにかく、Ubuntu 12.10にDjango for Python 2.7をインストールするために私が行ったことは以下の通りです。
$ 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
>>>