Ali obstaja kakšen način, da bi pip
dobro deloval z več različicami Pythona? Na primer, želim uporabiti pip
za izrecno namestitev stvari na namestitev mojega spletnega mesta 2.5 ali mojega spletnega mesta 2.6.
Na primer, z easy_install
uporabim easy_install-2.{5,6}
.
In, da - poznam virtualenv, in ne - to ni rešitev za to posebno težavo.
Trenutno priporočilo je, da uporabite python -m pip
, kjer je python
različica Pythona, ki jo želite uporabiti. To je priporočilo, ker deluje v vseh različicah Pythona in v vseh oblikah virtualenv. Na primer:
# 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
Prejšnji odgovor, ki ga pustimo za prihodnost:
Pip od različice 0.8 podpira pip-{verzija}
. Uporabite ga lahko enako kot easy_install-{version}
:
$ pip-2.5 install myfoopackage
$ pip-2.6 install otherpackage
$ pip-2.7 install mybarpackage
EDIT: pip je v različici 1.5 spremenil svojo shemo tako, da namesto pip-VERSION
uporablja pipVERSION
. Če imate pip >= 1.5
, morate uporabiti naslednje:
$ pip2.6 install otherpackage
$ pip2.7 install mybarpackage
Za več podrobnosti si oglejte spletno stran https://github.com/pypa/pip/pull/1053.
Sklici:
/path/to/python2.{5,6} /path/to/pip install PackageName
ne deluje?
Da bi to delovalo na katerikoli različici Pythona, ki nima nameščenega pipa, morate prenesti pip in narediti python*version* setup.py install
. Na primer python3.3 setup.py install
. To odpravi napako pri uvozu v komentarjih. (Kot je predlagal @hbdgaf)
Torej očitno obstaja več različic easy_install
in pip
. Zdi se, da je to velika zmešnjava. Kakorkoli že, to je tisto, kar sem naredil za namestitev Djanga za Python 2.7 na 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
>>>