Manera recomendada para instalar pip (3) en centos7

Estoy interesado en saber la forma recomendada de instalar pip3 para python3.6 (a partir de hoy, mayo de 2018) en la versión actual de centos7 (7.5.1804) y la respuesta aceptada de ¿Cómo instalar pip en CentOS 7? Parece estar desactualizado porque:

yum search -v pip 

salidas (entre otras cosas):

 python2-pip.noarch : A tool for installing and managing Python 2 packages Repo : epel python34-pip.noarch : A tool for installing and managing Python3 packages Repo : epel 

y python34-pip parece ser una forma (¿más nueva?) más simple que la respuesta aceptada de ¿Cómo instalar pip en CentOS 7? :

sudo yum instalar python34-setuptools

sudo easy_install-3.4 pip

Pero como las versiones de python instaladas en mi máquina son 2.7.5 y 3.6.3, ¿por qué es python34-pip y no python36-pip? ¿Es pip igual para 3.4+ (hasta 3.6.3 actual)?

  1. Es el mismo pip para 3.4+

    No, no es. Una sola instalación de pip sirve una única distribución de Python ( pip2.7 / pip3.4 / pip3.5 etc.).

  2. Desde Python 3.5, pip ya está incluido en la distribución de python, por lo que puedes ejecutar python3.6 -m pip lugar de pip .

  3. Python 3.6 no está disponible en CentOS 7 vanilla repo. Por lo general, recurro al repository IUS cuando necesito instalar un Python nuevo en CentOS. Siempre tiene la versión más reciente de Python, la actual es 3.6.5 . También ofrece un paquete pip correspondiente.

     $ yum install https://centos7.iuscommunity.org/ius-release.rpm $ yum install python36u python36u-devel python36u-pip 

    Desafortunadamente, IUS no ofrece un paquete para Python 3.7 todavía, así que si está buscando Python 3.7 en CentOS 7, construir desde la fuente es su única opción.

Edición: cuando yum no es una opción.

Debería preferir la solución de arranque descrita en esta respuesta, ya que es la forma más confiable de instalar un pip funcione.

Para instalar pip para python 3.6 en CentOS 7 necesitas ejecutar

$ python3.6 -m ensurepip

Sigue estos comandos en Centos 7

 yum install python36 yum install python36-devel yum install python36-setuptools easy_install-3.6 pip 

para comprobar la versión pip:

 pip3 -V pip 18.0 from /usr/local/lib/python3.6/site-packages/pip-18.0-py3.6.egg/pip (python 3.6) 

Pip no está incluido en la versión EPEL de python 3.6 por alguna razón. Supongo que una cantidad decente de personas (como yo) encontrarán esta página debido a eso.

 $ sudo yum install -y python36 ... $ python36 -m pip /usr/bin/python36: No module named pip 

Entonces, en este caso, el paquete setuptools fue la solución más fácil.

 $ sudo yum install python36-setuptools $ sudo easy_install-3.6 pip ... $ python36 -m pip --version pip 18.0 from /usr/local/lib/python3.6/site-packages/pip-18.0-py3.6.egg/pip (python 3.6) 

Prueba esto::

 sudo yum update sudo yum install -y python36u python36u-libs python36u-devel python36u-pip 

Trabajando para mi perfectamente.

En caso de que veas que pip3 está vinculado a la ruta python2:

$ pip3 -V

pip 8.1.2 de /usr/lib/python2.7/site-packages/pip (python 2.7)

Probablemente obtendrá:

$ pip3 install –upgrade pip

TypeError: parse () obtuvo un argumento de palabra clave inesperado ‘transport_encoding’

A continuación, intente borrar el caché de comandos con hash -r . Esto me ha funcionado:

 # Install Python 3: sudo yum install python36 -y # Install & Upgrade pip3 sudo python36 -m pip install --upgrade pip # Validate pip3 installation: sudo python3.6 -m ensurepip # Successfully installed pip-10.0.1 setuptools-39.0.1 # Clear commands cache hash -r # might be required if getting in bash: /usr/bin/pip3: No such file or directory) pip3 -V # pip 19.0.3 from /usr/local/lib/python3.6/site-packages/pip (python 3.6) which pip3 # /usr/local/bin/pip3 pip2 -V # pip 8.1.2 from /usr/lib/python2.7/site-packages (python 2.7) which pip2 # /usr/local/bin/pip2 # Install your Python3 module: sudo /usr/local/bin/pip3 install {required module for python3}