¿Hay alguna manera de hacer que pip
funcione bien con múltiples versiones de Python? Por ejemplo, quiero usar pip
para instalar explícitamente cosas en mi instalación del sitio 2.5 o en mi instalación del sitio 2.6.
Por ejemplo, con easy_install
, uso easy_install-2.{5,6}
.
Y, sí - sé sobre virtualenv, y no - no es una solución a este problema en particular.
La recomendación actual es utilizar python -m pip
, donde python
es la versión de Python que desea utilizar. Esta es la recomendación porque funciona en todas las versiones de Python, y en todas las formas de virtualenv. Por ejemplo:
# 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
Respuesta anterior, dejada para la posteridad:
Desde la versión 0.8, Pip soporta pip-{version}
. Puede utilizarlo igual que easy_install-{version}
:
$ pip-2.5 install myfoopackage
$ pip-2.6 install otherpackage
$ pip-2.7 install mybarpackage
EDIT: pip cambió su esquema para usar pipVERSION
en lugar de pip-VERSION
en la versión 1.5. Debe usar lo siguiente si tiene pip >= 1.5
:
$ pip2.6 install otherpackage
$ pip2.7 install mybarpackage
Consulte https://github.com/pypa/pip/pull/1053 para más detalles
Referencias:
ruta/para/python2.{5,6} /ruta/para/pip install PackageName
no funciona?
Para que esto funcione en cualquier versión de python que no tenga pip ya instalado necesitas descargar pip y hacer python*versión* setup.py install
. Por ejemplo python3.3 setup.py install
. Esto resuelve el error de importación en los comentarios. (Como sugiere @hbdgaf)
Así que aparentemente hay múltiples versiones de easy_install
y pip
. Parece que es un gran lío. De todos modos, esto es lo que hice para instalar Django para Python 2.7 en 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
>>>