Is er een manier om pip
met meerdere versies van Python te laten werken? Bijvoorbeeld, ik wil pip
gebruiken om expliciet dingen te installeren op ofwel mijn site 2.5 installatie of mijn site 2.6 installatie.
Bijvoorbeeld, met easy_install
, gebruik ik easy_install-2.{5,6}
.
En, ja - ik weet van virtualenv, en nee - het is geen oplossing voor dit specifieke probleem.
De huidige aanbeveling is om python -m pip
te gebruiken, waarbij python
de versie van Python is die je zou willen gebruiken. Dit is de aanbeveling omdat het werkt in alle versies van Python, en in alle vormen van virtualenv. Bijvoorbeeld:
# 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
Vorig antwoord, achtergelaten voor het nageslacht:
Sinds versie 0.8 ondersteunt Pip pip-{version}
. U kunt het op dezelfde manier gebruiken als easy_install-{version}
:
$ pip-2.5 install myfoopackage
$ pip-2.6 install otherpackage
$ pip-2.7 install mybarpackage
EDIT: pip heeft zijn schema veranderd om pipVERSION
te gebruiken in plaats van pip-VERSION
in versie 1.5. Je zou het volgende moeten gebruiken als je pip >= 1.5
hebt:
$ pip2.6 install otherpackage
$ pip2.7 install mybarpackage
Kijk op https://github.com/pypa/pip/pull/1053 voor meer details.
Referenties:
/path/to/python2.{5,6} /path/to/pip install PackageName
werkt niet?
Om dit te laten werken op elke python versie waarop pip nog niet geinstalleerd is moet je pip downloaden en python*version* setup.py install
doen. Bijvoorbeeld python3.3 setup.py install
. Dit lost de import fout op in de commentaren. (Zoals voorgesteld door @hbdgaf)
Dus blijkbaar zijn er meerdere versies van easy_install
en pip
. Het lijkt een grote puinhoop te zijn. Hoe dan ook, dit is wat ik deed om Django voor Python 2.7 op Ubuntu 12.10 te installeren:
$ 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
>>>