Er det noen måte å få pip
til å spille bra med flere versjoner av Python? For eksempel vil jeg bruke pip
for å eksplisitt installere ting til enten nettstedet mitt 2.5-installasjon eller nettstedet mitt 2.6-installasjon.
For eksempel, med easy_install
, bruker jeg easy_install-2.{5,6}
.
Og ja - jeg vet om virtualenv, og nei - det er ikke en løsning på dette problemet.
Den nåværende anbefalingen er å bruke python -m pip
, der python
er den versjonen av Python du ønsker å bruke. Dette er anbefalingen fordi den fungerer på tvers av alle versjoner av Python, og i alle former for virtualenv. For eksempel
# 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
Tidligere svar, etterlatt for ettertiden:
Siden versjon 0.8 støtter Pip pip-{version}
. Du kan bruke det på samme måte som easy_install-{versjon}
:
$ pip-2.5 install myfoopackage
$ pip-2.6 install otherpackage
$ pip-2.7 install mybarpackage
EDIT: pip endret sitt skjema til å bruke pipVERSION
i stedet for pip-VERSION
i versjon 1.5. Du bør bruke følgende hvis du har pip >= 1.5
:
$ pip2.6 install otherpackage
$ pip2.7 install mybarpackage
Se https://github.com/pypa/pip/pull/1053 for mer informasjon
Referanser:
/path/to/python2.{5,6} /path/to/pip install PackageName
fungerer ikke?
For at dette skal fungere på en hvilken som helst python-versjon som ikke allerede har pip installert, må du laste ned pip og gjøre python*versjon* setup.py install
. For eksempel python3.3 setup.py install
. Dette løser importfeilen i kommentarene. (Som antydet av @hbdgaf)
Så tilsynelatende er det flere versjoner av easy_install
og pip
. Det ser ut til å være et stort rot. Uansett, dette er hva jeg gjorde for å installere Django for Python 2.7 på Ubuntu 12.10:
$ 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
>>>