2014-12-30 19 views
38

mia console:Perché PIP genera un errore AssertionError sul blocco dei pip?

desarrollador @ desarrollador-HP-14-Notebook-PC1: ~ $ pip congelamento
Eccezione:
Traceback (chiamata più recente scorso):
file "/ usr/lib/python2.7/dist-packages/pip/basecommand.py ", riga 126, in main
self.run (opzioni, args)
File" /usr/lib/python2.7/dist-packages/pip/commands /freeze.py ", riga 68, in esecuzione
req = pip.FrozenRequirement.from_dist (dist, dependency_links, find_tags = find_tags)
File "/usr/lib/python2.7/dist-packages/pip/ init .py", la linea 156, in from_dist
asserzione len (caratteristiche) == 1 e caratteristiche [0] [0] = = '=='
AssertionError

ho installato il pacchetto di tornado e questo è accaduto da allora. Come posso ripararlo?

+0

voi stanno fornendo pochissime informazioni. Quale versione di pip stai usando? Hai dato un'occhiata ai vari thread qui su SO con lo stesso o simile messaggio di errore? Potrebbe essere correlato a 'distribute'. Ti capita di avere ancora una versione di 'distribute' installata? – cel

+1

non c'è thread come questo in SO. Sto usando la versione più recente. –

+0

Anche io sto prendendo questo. Sto usando pip versione 1.5.4. 'pip install' funziona perfettamente. –

risposta

18

Motivo: Il pacchetto python-pip in Ubuntu 12.04 è seriamente obsoleta e ha alcuni bug con alcuni nomi dei pacchetti (come posso vedere) e non in grado di analizzare in modo corretto.

Soluzione: installare una versione più recente di pip, tramite easy_install.

+1

Ho appena realizzato di avere diverse versioni di pip sul mio $ PATH! il primo pip sul percorso era la versione precedente. eseguire ciascuno dei pip con pip -V per verificare quale è l'ultimo (oggi: 7.1.2) e rimuovere quelli vecchi. –

+0

ha terminato l'eliminazione/rimozione/eliminazione di tutti i "pip" che avevo e quindi l'installazione più recente. Immagino sia perché ci sono 5 modi diversi di installare pip, e ognuno lo fa in modo un po 'diverso. –

8

Ho trovato la soluzione a this link.

pip install setuptools==7.0

+0

non ha funzionato –

+1

Prova a eseguire 'pip list'. Se il tuo problema è simile al mio, pip elencherà la maggior parte dei pacchetti prima di lanciare un errore sul pacchetto che sta creando il problema. Quindi dai un'occhiata a/usr/local/lib/python2.7/dist-packages/'(o ovunque siano installati i pacchetti) e vedi se riesci a capire quale sia il pacchetto successivo in ordine alfabetico. Forse questo ti procurerà le informazioni necessarie per risolverlo? –

+0

Potrei riuscire ad aggiornare pip! : D Stavo usando pip 1.0 (quello fornito con Ubuntu 12.04) –

15

Il tuo pip potrebbe essere obsoleto. Anche in Ubuntu 14.04 LTS, la versione pip installata utilizzando apt-get install python-pip era 1.5.4. Prova ad aggiornare manualmente pip, e possibilmente anche i nuovi pacchetti.

pip --version # 1.5.4 
curl -O https://bootstrap.pypa.io/get-pip.py 
sudo python get-pip.py 
pip --version # 6.0.8 
hash -r # reset bash cache 

https://pip.pypa.io/en/latest/installing.html

+0

Questo ha funzionato per me su Ubuntu 14.04 – learn2day

36

Questo ha funzionato per me (con Ubuntu, sia 12 e 14 LTS):

pip install -U setuptools 
pip install -U pip 

aggiornamento alla versione più recente di setuptools al fine di essere in grado di eseguire l'aggiornamento alla ultima versione di pip e aggiornamento alla versione più recente di pip per ottenere una versione che ha corretto l'errore AssertException.

+1

a volte hai aggiunto 'sudo' se root ha installato' pip' –

3

In primo luogo, ho eseguito la soluzione di Martin Mohan:

/usr/local/bin/pip uninstall pip 
apt-get remove python-pip 
apt-get install python-pip 

Poi, boredcoding in definitiva risolto il problema, entrambe le soluzioni si trovano nei pressi di fondo della discussione: I screwed up the system version of Python Pip on Ubuntu 12.10

$apt-get install python-pip 
$which pip 
/usr/bin/pip 

$pip install -U pip 
$which pip 
/usr/bin/pip 

$hash -r 
$which pip 
/usr/local/bin/pip 

La logica dietro questi due fix sono indicati nella discussione (linkata sopra), quindi mi asterrò dall'andare qui.

4

Il problema è dovuto all'installazione di una versione precedente di pip. eseguire il seguente comando per installare una nuova versione di pip:

sudo easy_install -U pip. 
2

Può essere un po 'tardi, ma una cosa che ho trovato era ci sono 2 o tre versioni di pip installati (a seconda di ciò che è stato installato)

pip - la versione del sistema operativo installata, il congelamento non funziona e può non essere aggiornato pip2 - il più recente installato ma aggiornamento pip tramite pip ecc. pip3 - installato se si hanno python3 e python2 installati contemporaneamente .

È possibile cambiamento che pip si abitua a $ PATH, o fare quello che ho fatto:

PIP2 congelare (che funziona su ubuntu14 se si dispone di più di un'opzione per Python)