Instalación de Pip-3.2 en Cygwin


84

Tengo Python 3 instalado en Cygwin. Sin embargo, no puedo instalar paquetes de Python 3 a través de pip. ¿Hay alguna forma de hacer esto?


1
¿Por qué no? ¿Ha instalado pip para esta instalación de Python? que error obtienes
— mata

Pip está instalado, pero instala la versión python 2 del paquete. Por ejemplo, mi script que requiere pyyaml ​​regresa ImportError: No module named yaml, incluso después de ejecutarse correctamente pip install pyyaml.
— David Y. Stephenson

1
Entonces el pipscript no se ejecuta con la versión correcta de Python. Intente en su /path/to/python3 -m pip install ...lugar. Además, verifique el shebang del script pip.
— mata

@mata FYI, Python 2 también está instalado. usr/bin/python3 -m pip install pyyamldevuelve /usr/bin/python3: No module named pip. De ahí mi pregunta original; ¿Cómo se instala pip-3 en cygwin?
— David Y. Stephenson

1
python3 -m ensurepipy python2 -m ensurepip. Busque en python.org/dev/peps/pep-0453
— gavenkoa

Respuestas:


128

1) Mientras instala cygwin, asegúrese de instalar python / python-setuptools de la lista. Esto instalará el paquete "easy_install".

2) Escriba el siguiente comando:

easy_install-a.b pip   

Debe reemplazar a.bcon su versión de Python, que puede ser 2.7 o 3.4 o cualquier otra cosa.


4
Esta respuesta funcionó muy bien para mí. Tuve que tomar un par de pasos adicionales porque trabajo en una universidad: primero, navegué hasta mi ruta de instalación (c: / cygwin64 / bin /). Luego, autocompletar me ayudó a encontrar el archivo de instalación fácil llamado ligeramente diferente: easy_install 2.7.9
— Protomancer

6
Hice esto para terminar en un estado sin huevos:easy_install-2.7 pip && pip install 'pip<8' && pip install pip --upgrade
— Anthony Sottile

6
para python3, use los paquetes python3 y python3-setuptools . Es obvio, pero uno puede olvidarse de Python 3 -setuptools
— simon

2
Y no olvide la versión (es decir, -2.7). Tenía otra distribución de Python en mi computadora, y 'easy_install' invocó esa en lugar de la de cygwin.
— jtbr

44

Si tiene más de una instalación de Python, entonces necesita instalar pip (y probablemente también setuptools) para cada instalación por separado.
Para hacerlo, primero puede descargarlo ez_setup.pyy ejecutarlo con python3:

/usr/bin/python3 ez_setup.py

Eso debería instalar setuptools y también crear un easy_installscript para su versión de Python, por ejemplo /usr/bin/easy_install-3.2, que puede usar para instalar pip:

/usr/bin/easy_install-3.2 pip

Esto instalará pip en el directorio de paquetes de su sitio python3 y, nuevamente, creará un script /usr/bin/pip-3.2, que puede usar para instalar paquetes para esta versión de Python.

Alternativamente, puede seguir las instrucciones de instalación aquí y aquí .


2
¡Excelente! Pude resolver mi problema de cygwin siguiendo esta respuesta.

Recibo "OSError: [Errno 13] Permiso denegado" este error durante la instalación en cygwin. Tengo derechos de administrador en esa máquina.
— arulraj.net

2
Enlace a ez_setup.py está muerto
— spartygw


15

Dado que OP habla específicamente de Python3, creo que debemos especificar eso en caso de que el usuario ya tenga Python2 instalado, lo cual es muy probable.

# If you don't have Python3 already, use apt-cyg:
apt-cyg install python3

# First update pip, pip2 
pip2 install --upgrade pip 

# Install pip3:
python3 -m ensurepip

# Finally update pip3:
pip3 install --upgrade pip

$ pip3 -V
pip 9.0.1 from /usr/lib/python3.4/site-packages (python 3.4)

Por cierto. Hay varias bifurcaciones de apt-cyg , pero la mejor mantenida es la de kou1okada , te encantará.


EDITAR: 2018-11-15

Debido a que comencé sin usar virtualenv , recientemente tuve que actualizar mi instalación de Cygwin Python3 y me di cuenta de algunas cosas en el proceso que deberían haber sido obvias, pero que pueden olvidarse fácilmente.

  • Al instalar y usar Python3 en Cygwin (y probablemente en la mayoría de las otras distribuciones * nix), solo instale el intérprete básico de Python3 como un paquete Cygwin. A partir de ese momento, solo use el instalador de pip .

  • Después de haber instalado o actualizado cualquier paquete de python3 usando pip , su administrador de paquetes Cygwin se quejará de que su paquete es "Incomplete". Eso es porque pip ha reemplazado / actualizado los archivos en ese paquete. Consulte con: cygcheck.exe -c |grep Incomplete.
    No vuelva a instalar esos paquetes con Cygwin.

# cygcheck.exe -c |grep Incomplete
python3-setuptools      34.3.2-1         Incomplete

Entonces, lo que hice fue borrar todos los paquetes Cygwin relacionados con python3, excepto el propio Python3. Entonces Reinstalé el único necesario: python3-setuptools.

# apt-cyg remove python3-setuptools
apt-cyg install python3-setuptools

# Fix pip3 symlink (or just pip if you don't have python2)
ln -s /usr/bin/pip3.6 /usr/bin/pip3

# That also installs the Cygwin packages:  
# python3-appdirs, python3-packaging, python3-pyparsing, python3-six

# Now, update setuptools with pip:
pip3 install -U --force-reinstall --only-binary=:all: --no-clean --no-cache-dir setuptools

# pip list |grep setuptools
setuptools          40.5.0

Eso también debería haber reinstalado todas las dependencias de setuptools con las últimas actualizaciones.

A partir de ahora, hazte un favor y empieza a utilizar un entorno virtual.


es ensurepipnecesario debido a cygwin? Por lo general, pipestá a bordo, vea aquí
— Timo

@Timo, para mí lo fue, por alguna razón me faltaba pip3 para python3
— Lepidopteron

Siempre que lo haya pipinstalado, siempre puede realizar un enlace simbólico /usr/bin/, pero tal vez sea más elegante usar la corrección nativa asegurarpip . IDK si ya tenía una versión anterior o si estaba instalada junto con setuptools, pero no tengo el ensurepippaquete instalado.
— not2qubit

2
+1 por recomendar la bifurcación de apt-cyg de kou1okada, es la más completa y mejor mantenida hasta ahora, la he estado usando durante años.
— Prometheus

2

En Windows, puede usar pip para instalar paquetes. Si tiene varias instalaciones de Python en cygwin, proporcione la ruta completa de Python, por ejemplo, Python 2

/usr/bin/python2.7 -m pip install pyyaml

Python 3

/usr/bin/python3.6 -m pip install pyyaml

En caso de que no tenga pip instalado, instálelo usando el siguiente comando

/usr/bin/python2.7 -m ensurepip 

o

/usr/bin/python3.6 -m ensurepip

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.