2014-12-30 6 views
38

Моя консоль:Почему PIP поднимает AssertionError при замораживании контура?

desarrollador @ desarrollador-HP-14-Notebook-PC1: ~ $ пип сублимационной
Исключение:
Traceback (самый последний вызов последнего):
Файл «/ USR/Библиотека/python2.7/dist-packages/pip/basecommand.py ", строка 126, в основном
self.run (options, args)
Файл« /usr/lib/python2.7/dist-packages/pip/commands /freeze.py ", строка 68, в запуске
req = pip.FrozenRequirement.from_dist (dist, dependency_links, find_tags = find_tags)
Файл "/usr/lib/python2.7/dist-packages/pip/ INIT .py", строка 156, в from_dist
утверждает LEN (спецификация) == 1 и функция [0] [0] = = '=='
AssertionError

Я установил пакет торнадо, и это произошло с тех пор. Как я могу это исправить?

+0

ты по предоставляют очень мало информации. Какую версию пипса вы используете? Вы посмотрели различные потоки здесь в SO с тем же или похожим сообщением об ошибке? Это может быть связано с «распространением». У вас до сих пор установлена ​​версия 'distribute'? – cel

+1

В SO нет такой темы. Я использую самую последнюю версию. –

+0

Я тоже получаю это. Я использую pip версию 1.5.4. 'pip install' работает отлично. –

ответ

18

Причина: Питон-пип пакет в Ubuntu 12.04 серьезно устарел и имеет некоторые ошибки с определенными именами пакетов (как я могу видеть) и не может разобрать их правильно.

Решение: установите более новую версию pip, используя easy_install.

+1

Я только что понял, что у меня есть несколько версий пипса на моей $ PATH! первый пип на пути был более старой версией. запустите каждый из пипов с pip -V, чтобы проверить, какой из них является последним (сегодня: 7.1.2), и удалите старые. –

+0

закончил удаление/удаление/очистку всех «пипсов», а затем установку последних. я думаю, это потому, что есть 5 различных способов установить pip, и каждый из них делает это немного по-другому. –

8

Я нашел решение на this link.

pip install setuptools==7.0

+0

не работает –

+1

Попробуйте запустить 'pip list'. Если ваша проблема похожа на мою, pip представит большинство пакетов, прежде чем выбросить ошибку в пакете, который создает проблему. Затем взгляните на '/ usr/local/lib/python2.7/dist-packages /' (или там, где установлены ваши пакеты) и посмотрите, можете ли вы определить, что следующий пакет в алфавитном порядке. Может быть, это даст вам информацию, необходимую для ее решения? –

+0

Я мог бы улучшить апгрейд! : D Я использовал pip 1.0 (тот, который поставляется с ubuntu 12.04) –

15

Ваш пип может быть устаревшим. Даже в Ubuntu 14.04 LTS версия протокола, установленная с использованием apt-get install python-pip, была 1.5.4. Попробуйте обновить пакет вручную и, возможно, новые пакеты снова.

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

Это сработало для меня на Ubuntu 14.04 – learn2day

36

Это работает для меня (работает Ubuntu, как 12 и 14 LTS):

pip install -U setuptools 
pip install -U pip 

Обновление до последней версии Setuptools для того, чтобы иметь возможность перейти к последней версии pip и обновить до последней версии pip, чтобы получить версию, в которой исправлена ​​ошибка AssertException.

+1

иногда вы добавляете 'sudo', если root установил' pip' –

3

Во-первых, я побежал решение Мартина Мохана:

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

Затем boredcoding в конечном счете исправил проблему, оба решения находятся вблизи нижней нити: 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 

Логика этих двух затруднительного указаны в потоке (см. выше), поэтому я воздержусь от участия в каждом из них.

4

Проблема возникает из-за установленной старой версии pip. Выполните следующую команду, чтобы установить новую версию pip:

sudo easy_install -U pip. 
2

Это может быть немного поздно, но одна вещь, которую я обнаружил, есть 2 или три версии пип установленные (в зависимости от того, что вы установили)

pip - версия ОС установлена, замораживание не работает, и она может быть устаревшей pip2 - новая установлена, но обновляется через pip и т. Д. pip3 - установлен, если у вас одновременно установлены python3 и python2 ,

Вы можете либо изменения, которые пип привыкает в $ PATH, или делать то, что я сделал:

PIP2 замораживать (который делает работу по ubuntu14, если у вас есть более чем один вариант для Python)

Смежные вопросы