Gibt es eine Möglichkeit, pip
mit mehreren Python-Versionen kompatibel zu machen? Zum Beispiel möchte ich pip
benutzen, um explizit Dinge entweder auf meiner Site 2.5 Installation oder auf meiner Site 2.6 Installation zu installieren.
Mit easy_install
verwende ich zum Beispiel easy_install-2.{5,6}
.
Und, ja - ich kenne virtualenv, und nein - es ist keine Lösung für dieses spezielle Problem.
Die aktuelle Empfehlung ist die Verwendung von python -m pip
, wobei python
die Version von Python ist, die Sie verwenden möchten. Dies ist die Empfehlung, weil es in allen Versionen von Python und in allen Formen von Virtualenv funktioniert. Zum Beispiel:
# 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
Vorherige Antwort, für die Nachwelt hinterlassen:
Seit Version 0.8 unterstützt Pip pip-{version}
. Sie können es genauso verwenden wie easy_install-{version}
:
$ pip-2.5 install myfoopackage
$ pip-2.6 install otherpackage
$ pip-2.7 install mybarpackage
EDIT: pip hat sein Schema geändert, um pipVERSION
anstelle von pip-VERSION
in Version 1.5 zu verwenden. Sie sollten das Folgende verwenden, wenn Sie pip >= 1.5
haben:
$ pip2.6 install otherpackage
$ pip2.7 install mybarpackage
Siehe https://github.com/pypa/pip/pull/1053 für weitere Details
Referenzen:
/path/to/python2.{5,6} /pfad/zu/pip installieren Paketname
funktioniert nicht?
Damit dies mit jeder Python-Version funktioniert, auf der pip noch nicht installiert ist, müssen Sie pip herunterladen und python*version* setup.py install
ausführen. Zum Beispiel python3.3 setup.py install
. Dies behebt den Importfehler in den Kommentaren. (Wie von @hbdgaf vorgeschlagen)
Anscheinend gibt es also mehrere Versionen von easy_install
und pip
. Es scheint ein großes Durcheinander zu sein. Wie auch immer, so habe ich Django für Python 2.7 auf Ubuntu 12.10 installiert:
$ 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
>>>