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?

theta
fuente
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.

Lennart Regebro
fuente
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.

Erik Pragt
fuente
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>
aadarsh ​​karumathil
fuente
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
tldr
fuente
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
cinco elementos
fuente
`` `(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.

Ordiel
fuente
4

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

karsten
fuente
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

Kardi Teknomo
fuente
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
usuario8128167
fuente
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

Anurag Daware
fuente