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?
python
python-3.x
cygwin
pip
David Y. Stephenson
fuente
fuente
ImportError: No module named yaml
, incluso después de ejecutarse correctamentepip install pyyaml
.pip
script 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.usr/bin/python3 -m pip install pyyaml
devuelve/usr/bin/python3: No module named pip
. De ahí mi pregunta original; ¿Cómo se instala pip-3 en cygwin?python3 -m ensurepip
ypython2 -m ensurepip
. Busque en python.org/dev/peps/pep-0453Respuestas:
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:
Debe reemplazar
a.b
con su versión de Python, que puede ser 2.7 o 3.4 o cualquier otra cosa.fuente
easy_install-2.7 pip && pip install 'pip<8' && pip install pip --upgrade
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.py
y ejecutarlo con python3:Eso debería instalar setuptools y también crear un
easy_install
script 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í .
fuente
Creo que las instrucciones de instalación alternativas vinculadas por mata son las más simples:
fuente
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.
fuente
ensurepip
necesario debido a cygwin? Por lo general,pip
está a bordo, vea aquípip
instalado, 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 consetuptools
, pero no tengo elensurepip
paquete instalado.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
fuente
Acabo de aprender, inspirado en https://www.scivision.co/install-pip-in-cygwin/ y la respuesta anterior, que en lugar de usar pip, solo tiene que usar pip2 para python2 o pip3 para python 3 en cygwin en las ventanas. Pregunté sobre esto todo el día ...
fuente