Cómo usar pip con Python 3.x junto con Python 2.x


196

Instalé Python 3.x (además de Python 2.x en Ubuntu) y lentamente comencé a emparejar los módulos que uso en Python 2.x.

Entonces, me pregunto, ¿qué enfoque debo tomar para facilitarme la vida usando pip para Python 2.xy Python 3.x?


2
Personalmente, evitaría las instalaciones de paquetes globales y usaría virtualenv. Luego usa pip desde el interior de su entorno virtual para cada proyecto, y siempre está usando el correcto.
jpmc26

Respuestas:


183

El enfoque que debe tomar es instalar pipPython 3.2.

Lo haces de la siguiente manera:

$ curl -O https://bootstrap.pypa.io/get-pip.py
$ sudo python3.2 get-pip.py

Luego, puede instalar cosas para Python 3.2 con pip-3.2e instalar cosas para Python 2-7 con pip-2.7. El pipcomando terminará apuntando a uno de estos, pero no estoy seguro de cuál, por lo que deberá verificarlo.


9
Esto fue fácil, gracias. sudo python3.2 get-pip.pyinstala pipy pip-3.2scripts en /usr/local/biny ambos usan lógicamente las sudo python get-pip.pyinstalaciones de Python 3. pipy pip-2.7aquí, así que en este caso pipusa Python 2.7. He creado un enlace adicional a pip-3.2como pip3y probado: ¡Perfecto! :)
theta

66
En Fedora, es pip3.3, es decir, sin el guión entre pip y la versión. Verifique /usr/binqué versiones de pip tiene allí.
Shailen

55
[x] Ubuntu también está usando [ pip2 | pip2.7 | pip3 | pip3.4 ]. ¿Es esto un cambio pipo diferente entre diferentes sistemas?
Jon Surrell

Después de ejecutar, obtuveYou're using an outdated location for the get-pip.py script, please use the one available from https://bootstrap.pypa.io/get-pip.py
Kevin Brotcke

Entonces haz eso entonces. :-)
Lennart Regebro

53

Lo que también puedes hacer es usar apt-get:

apt-get install python3-pip

En mi experiencia, esto también funciona con bastante fluidez, además de que obtienes todos los beneficios de apt-get.


2
El 12.04 no puedo hacer esto.
dranxo

15
Utilicé esto con éxito (es decir, sudo apt-get install python3-pip) y luego pude instalar paquetes de python3 usando "sudo python3 -m pip install package".
Tom Slee

2
A partir de hoy, creo que apt-get le ofrece la versión 1.5.6 desactualizada; si no desea un AssertionErrror durante pip freeze > requirements(u otros errores potenciales), instale desde el origen para la última versión y ahórrese un poco de dolor de cabeza.
Yibo Yang

debe ser root para instalarpython3-pip
Florent

A pesar de la instalación, el pipuso python3.7 piptodavía se usa de manera predeterminada con Python 2.7 en ubuntu 14.04 :( He logrado actualizar pip a la última versión, es decir, 19.3.1, pero todavía está tomando el valor predeterminado de python2.7. Cómo hacer que se use con python 3.7 ?
Desarrollador curioso

48

Primero, instala Python 3 pip usando:

sudo apt-get install python3-pip

Luego, para usar el Python 3 pipuso:

pip3 install <module-name>

Para Python 2 pipuso:

pip install <module-name>

44
No hay pip de Python 2, eso depende del sistema operativo que esté utilizando. Por ejemplo, en los pip --versionestados de Arch Linux que se ejecuta en python 3.6 de forma predeterminada.
Daniel Andrei Mincă

Esa es la solución más intuitiva y fácil para mí, ¡gracias!
gebbissimo

15

Si no desea tener que especificar la versión cada vez que usa pip :

Instalar pip:

$ curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python3

y exportar la ruta:

$ export PATH=/Library/Frameworks/Python.framework/Versions/<version number>/bin:$PATH

11
¿Podrías dar más detalles? No veo cómo instalar distribuir tiene algo que ver con no tener que especificar la versión de pip que desea usar.
Piotr Dobrogost

13

El camino más corto:

python3 -m pip install package
python -m pip install package

`` `(test-exif) alex @ alex-xps-13-9370: ~ / projects / oe / app / exif $ python3 -m pip install exif / usr / bin / python3: Ningún módulo llamado
pip`

@axd en ese caso primero instala pip usando sudo apt-get install python3-pip. Asumiendo que estás usando python3.
Fiveelements

5

Esto funcionó para mí en OS X: (Lo digo porque a veces es una molestia que Mac tenga "su propia" versión de cada herramienta de código abierto, y no se puede eliminar porque "sus mejoras" lo hacen único para que funcionen otras cosas de Apple , y si lo quitas las cosas comienzan a caerse aparte)

Seguí los pasos proporcionados por @Lennart Regebro para obtener pip para python 3, sin embargo, pip para python 2 todavía estaba primero en el camino, así que ... lo que hice fue crear un enlace simbólico a python 3 dentro de / usr / bin ( de hecho, hice lo mismo para que mis 2 pitones corrieran en paz):

ln -s /Library/Frameworks/Python.framework/Versions/3.4/bin/pip /usr/bin/pip3

Aviso que he añadido una 3al final, así que básicamente lo que tiene que hacer es utilizar pip3en lugar de sólo pip.

La publicación es antigua pero espero que esto ayude a alguien algún día. Esto debería funcionar teóricamente para cualquier sistema LINUX.


4

En Suse Linux 13.2, pip llama a python3, pero pip2 está disponible para usar la versión anterior de python.


lo mismo en voidlinux
Radagast

4

En Windows, primero instaló Python 3.7 y luego Python 2.7. Luego, use el símbolo del sistema:

pip install python2-module-name

pip3 instalar nombre del módulo python3

Eso es todo


3

Tenga en cuenta que en msys2 he encontrado que estos comandos son útiles:

$ pacman -S python3-pip
$ pip3 install --upgrade pip
$ pip3 install --user package_name

2

Pensé que esta es una vieja pregunta, creo que tengo una mejor solución

  1. Para usar pip para un entorno python 2.x, use este comando:

    py -2 -m pip install -r require.txt

  2. Para usar pip para el entorno python 3.x, use este comando:

    py -3 -m pip install -r require.txt

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.