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.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.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?python3 -m ensurepipypython2 -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.bcon 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 --upgradeSi 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: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 pipEsto 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 IncompleteEntonces, 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.0Eso 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
ensurepipnecesario debido a cygwin? Por lo general,pipestá a bordo, vea aquí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 consetuptools, pero no tengo elensurepippaquete 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 pyyamlPython 3
/usr/bin/python3.6 -m pip install pyyamlEn caso de que no tenga pip instalado, instálelo usando el siguiente comando
/usr/bin/python2.7 -m ensurepipo
/usr/bin/python3.6 -m ensurepipfuente
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