Installazione di Pip-3.2 su Cygwin


85

Ho Python 3 installato su Cygwin. Tuttavia, non sono in grado di installare i pacchetti Python 3 tramite pip. C'è un modo per fare questo?


1
perchè no? hai installato pip per questa installazione di python? che errore ottieni?
— mata

Pip è installato, ma installa la versione python 2 del pacchetto. Ad esempio, il mio script che richiede pyyaml ​​ritorna ImportError: No module named yaml, anche dopo essere stato eseguito correttamente pip install pyyaml.
— David Y. Stephenson

1
Quindi lo pipscript non viene eseguito con la versione corretta di Python. Prova /path/to/python3 -m pip install ...invece. Inoltre, controlla lo shebang dello script pip.
— mata

@mata FYI, è installato anche Python 2. usr/bin/python3 -m pip install pyyamlritorna /usr/bin/python3: No module named pip. Così la mia domanda originale; come si installa pip-3 su cygwin?
— David Y. Stephenson

1
python3 -m ensurepipe python2 -m ensurepip. Guarda python.org/dev/peps/pep-0453
— gavenkoa

Risposte:


129

1) Durante l'installazione di cygwin, assicurati di installare python / python-setuptools dall'elenco. Questo installerà il pacchetto "easy_install".

2) Digita il seguente comando:

easy_install-a.b pip   

Devi sostituire a.bcon la tua versione di python che può essere 2.7 o 3.4 o qualsiasi altra cosa.


4
Questa risposta ha funzionato alla grande per me. Ho dovuto fare un paio di passaggi extra perché lavoro in un'università: per prima cosa, ho navigato nel mio percorso di installazione (c: / cygwin64 / bin /). Quindi il completamento automatico mi ha aiutato a trovare il file di installazione facile denominato leggermente diverso
— easy_install

6
L'ho fatto per finire in uno stato senza uova:easy_install-2.7 pip && pip install 'pip<8' && pip install pip --upgrade
— Anthony Sottile

6
per python3, usa i pacchetti python3 e python3-setuptools . È ovvio, ma ci si può dimenticare di python 3 -setuptools
— simon

2
E non dimenticare la versione (cioè -2.7). Avevo un'altra distribuzione python sul mio computer e "easy_install" invocava quella piuttosto che quella di cygwin.
— jtbr

44

Se hai più di un'installazione python, devi installare pip (e probabilmente anche setuptools) per ciascuna installazione separatamente.
Per fare ciò, puoi prima scaricarlo ez_setup.pyed eseguirlo con python3:

/usr/bin/python3 ez_setup.py

Questo dovrebbe installare setuptools e anche creare uno easy_installscript per la tua versione di python, ad esempio /usr/bin/easy_install-3.2, che puoi usare per installare pip:

/usr/bin/easy_install-3.2 pip

Questo installerà pip nella directory dei pacchetti del tuo sito python3 e creerà di nuovo uno script /usr/bin/pip-3.2, che potrai utilizzare per installare i pacchetti per questa versione di python.

In alternativa puoi seguire le istruzioni di installazione da qui e qui .


2
Eccellente! Sono stato in grado di risolvere il mio problema con cygwin seguendo questa risposta.

Ricevo "OSError: [Errno 13] Permission denied" questo errore durante l'installazione in cygwin. Ho i diritti di amministratore su quella macchina.
— arulraj.net

2
Il link a ez_setup.py è morto
— spartygw


15

Poiché OP parla specificamente di Python3, penso che sia necessario specificarlo nel caso in cui l'utente abbia già installato Python2, il che è molto probabile.

# 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)

BTW. Ci sono diversi fork di apt-cyg , ma il meglio mantenuto è quello di kou1okada , lo adorerai .


MODIFICA: 2018-11-15

Poiché ho iniziato a non usare virtualenv , di recente ho dovuto aggiornare la mia installazione di Cygwin Python3 e ho realizzato alcune cose nel processo che avrebbero dovuto essere ovvie, ma possono essere facilmente dimenticate.

  • Quando installi e usi Python3 su Cygwin (e probabilmente sulla maggior parte delle altre distribuzioni * nix), installa solo l'interprete di base Python3 come pacchetto Cygwin. Da quel momento in poi, usa solo il programma di installazione pip .

  • Dopo aver installato o aggiornato qualsiasi pacchetto python3 usando pip , il tuo gestore di pacchetti Cygwin si lamenterà che il tuo pacchetto è "Incomplete". Questo perché pip ha sostituito / aggiornato i file in quel pacchetto. Controllare con: cygcheck.exe -c |grep Incomplete.
    Non reinstallare quei pacchetti con Cygwin.

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

Quindi quello che ho fatto è stato cancellare tutti i pacchetti Cygwin relativi a python3, tranne lo stesso Python3. Poi ho reinstallato l'unico necessario: 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

Dovrebbe anche aver reinstallato tutte le dipendenze di setuptools con gli ultimi aggiornamenti.

D'ora in poi, fatti un favore e inizia a utilizzare un ambiente virtuale.


è ensurepipnecessario a causa di cygwin? Di solito pipè a bordo, vedi qui
— Timo

@Timo, per me è stato, per qualsiasi motivo mi mancava pip3 per python3
— Lepidopteron

Finché hai pipinstallato, puoi sempre creare/usr/bin/ un collegamento simbolico , ma forse è più elegante utilizzare la correzione nativa per securepip . IDK se avevo già una vecchia versione o se è stata installata insieme a setuptools, ma non ho il ensurepippacchetto installato.
— not2qubit

2
+1 per aver raccomandato il fork di apt-cyg di kou1okada, è di gran lunga il più completo e meglio mantenuto, lo uso da anni.
— Prometeo

2

Su Windows, puoi usare pip per installare i pacchetti. Se hai più installazioni di python sotto cygwin, dai il percorso completo di python, ad es

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

Python 3

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

Nel caso in cui non sia installato pip, installalo utilizzando il comando seguente

/usr/bin/python2.7 -m ensurepip 

o

/usr/bin/python3.6 -m ensurepip

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.