Saltar al contenido

¿Cómo instalar pip para Python 3.6 en Ubuntu 16.10?

Esta es el arreglo más válida que te podemos dar, pero primero obsérvala detenidamente y valora si se puede adaptar a tu proyecto.

Solución:

Supongamos que tiene un sistema que ejecuta Ubuntu 16.04, 16.10 o 17.04 y desea que Python 3.6 sea el Python predeterminado.

Si está usando Ubuntu 16.04 LTS, deberá usar un PPA:

sudo add-apt-repository ppa:jonathonf/python-3.6  # (only for 16.04 LTS)

Luego, ejecute lo siguiente (esto funciona de forma inmediata en 16.10 y 17.04):

sudo apt update
sudo apt install python3.6
sudo apt install python3.6-dev
sudo apt install python3.6-venv
wget https://bootstrap.pypa.io/get-pip.py
sudo python3.6 get-pip.py
sudo ln -s /usr/bin/python3.6 /usr/local/bin/python3
sudo ln -s /usr/local/bin/pip /usr/local/bin/pip3

# Do this only if you want python3 to be the default Python
# instead of python2 (may be dangerous, esp. before 2020):
# sudo ln -s /usr/bin/python3.6 /usr/local/bin/python

Cuando haya completado todo lo anterior, cada uno de los siguientes comandos de shell debe indicar Python 3.6.1 (o una versión más reciente de Python 3.6):

python --version   # (this will reflect your choice, see above)
python3 --version
$(head -1 `which pip` | tail -c +3) --version
$(head -1 `which pip3` | tail -c +3) --version

Al menos en ubuntu 16.10, el valor predeterminado python3 es python3.5. Como tal, todos los python3-X los paquetes se instalarán para python3.5 y no para python3.6.

Puede verificar esto comprobando el shebang de pip3:

$ head -n1 $(which pip3)
#!/usr/bin/python3

Afortunadamente, el pip instalado por el python3-pip el paquete se instala en el “compartido” /usr/lib/python3/dist-packages de modo que python3.6 también puede aprovecharlo.

Puede instalar paquetes para python3.6 haciendo:

python3.6 -m pip install ...

Por ejemplo:

$ python3.6 -m pip install requests
$ python3.6 -c 'import requests; print(requests.__file__)'
/usr/local/lib/python3.6/dist-packages/requests/__init__.py

Esta respuesta asume que usted tiene python3.6 instalado. Para python3.7, reemplazar 3.6 con 3.7. Para python3.8, reemplazar 3.6 con 3.8, pero también puede requerir primero la python3.8-distutils paquete.

Instalación con sudo

Con respecto a la instalación pip, utilizando curl (en vez de wget) evita escribir el archivo en el disco.

curl https://bootstrap.pypa.io/get-pip.py | sudo -H python3.6

El -H la bandera es evidentemente necesaria con sudo para evitar errores como los siguientes al instalar pip para un intérprete de python actualizado:

El directorio ‘/home/someuser/.cache/pip/http’ o su directorio principal no es propiedad del usuario actual y el caché se ha deshabilitado. Verifique los permisos y el propietario de ese directorio. Si ejecuta pip con sudo, es posible que desee el indicador -H de sudo.

El directorio ‘/home/someuser/.cache/pip’ o su directorio principal no es propiedad del usuario actual y las ruedas de almacenamiento en caché se han deshabilitado. verifique los permisos y el propietario de ese directorio. Si ejecuta pip con sudo, es posible que desee el indicador -H de sudo.

Instalación sin sudo

curl https://bootstrap.pypa.io/get-pip.py | python3.6 - --user

Esto a veces puede dar una advertencia como:

ADVERTENCIA: La rueda de secuencias de comandos está instalada en ‘/home/ubuntu/.local/bin’ que no está en PATH. Considere agregar este directorio a PATH o, si prefiere suprimir esta advertencia, use –no-warn-script-location.

Verificación

Después de este, pip, pip3, y pip3.6 se puede esperar que todos apunten al mismo objetivo:

$ (pip -V && pip3 -V && pip3.6 -V) | uniq
pip 18.0 from /usr/local/lib/python3.6/dist-packages (python 3.6)

Por supuesto, puedes usar alternativamente python3.6 -m pip también.

$ python3.6 -m pip -V
pip 18.0 from /usr/local/lib/python3.6/dist-packages (python 3.6)

Recuerda algo, que tienes la capacidad de añadir una puntuación objetiva si te ayudó.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *