LINUX.ORG.RU

Сломался pip

 , ,


0

1

Вчера обновил систему. Утром как обычно запускал джангу в дебаге, и перестал работать debug-toolbar. Для теста обновил джангу и тулбар из pip, после чего перестал работать сам pip (вместо пипа он запускал django-admin). Тогда я переустановил pip. Теперь он всё ещё не работает, но ошибка уже другая: http://bpaste.net/show/170008/

С чего всё началось и почему сломался тулбар, пока так и не понял.

★★★★★

Последнее исправление: vurdalak (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

app-admin/python-updater- 0.11

dev-lang/python-exec-0.3.1

dev-lang/python-exec-2.0.1

dev-python/python-exec-10000.1

dev-python/python-exec-10000.2

vurdalak ★★★★★
() автор топика

Для теста обновил джангу и тулбар из pip

А, ересь 14443? Попробуй прогони python-updater, но возможно потребуется больше танцов с бубном...

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

Я же говорю, для теста. При первой странной ошибке с дебагпанелью гуглинг показал, что текущая версия панели может быть старая и несовместимая с последней джангой. Поэтому, на всякий случай решил её обновить. Она из пипа потащила за собой джангу.

vurdalak ★★★★★
() автор топика
Ответ на: комментарий от vurdalak

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

emerge -C - не схляет, pip сломал себя сам. Тут похоже придется закатывать рукава и делать всё вручную. А потом на остатки натравливать какой-нибудь findcruft

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

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

Раньше я просто ставил поверх версию из портежа :)

Тут похоже придется закатывать рукава и делать всё вручную.

Почему переустановка пипа не перезаписывает все его файлы?

vurdalak ★★★★★
() автор топика
Ответ на: комментарий от vurdalak

Раньше я просто ставил поверх версию из портежа :)

Угу, а ничего что набор файлов в вручную установленной версии может ВНЕЗАПНО отличаться от того что ставится через portage? :-)

И тут у нас появляются т.н. осиротевшие(orphaned) файлы. Которые могут потом привести к веселым и неожиданным последствиям(особенно с FEATURES=«collision-protect»)

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

Угу, а ничего что набор файлов в вручную установленной версии может ВНЕЗАПНО отличаться от того что ставится через portage? :-)

Портеж должен их перезаписать по идее. Во всяком случае, я ожидаю такого. Или хотя бы выдать список конфликтов, чтобы я сам почистил эти файлы.

vurdalak ★★★★★
() автор топика
Ответ на: комментарий от Pinkbyte

Алсо, python-updater ничего не стал делать. Говорит, всё пучком.

vurdalak ★★★★★
() автор топика
Ответ на: комментарий от vurdalak

Почему переустановка пипа не перезаписывает все его файлы?

Потому что установленный вручную пакет может содержать файлы, которые не устанавливает portage.

Pinkbyte ★★★★★
()
Ответ на: комментарий от vurdalak

Или хотя бы выдать список конфликтов, чтобы я сам почистил эти файлы.

Так и делается. Установка прерывается, в зависимости от того, принадлежат ли эти файлы другому пакету или нет. Подробности - в man make.conf

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

Чудненько, вот только у меня ничего не прерывается. Пип нормально удаляется и устанавливается, но не работает.

vurdalak ★★★★★
() автор топика

Для теста обновил джангу и тулбар из pip, после чего перестал работать сам pip

Прикольный тест. Вы еще не используете virtualenv? - гг

Смотрите /usr/lib64/python2.7/site-packages и выковыривайте ошметки pip которые не из portage.

hizel ★★★★★
()
Ответ на: комментарий от hizel

Я что-то совсем запутался. Пип пофиксил, но теперь webapp-config не работает, потому что вместо него запускается пип. При чём бинарник является ссылкой на python-exec2.

vurdalak ★★★★★
() автор топика
Ответ на: комментарий от vurdalak

Это норма, следи за руками:

$qlist app-admin/webapp-config
....
/usr/sbin/webapp-config
/usr/sbin/webapp-cleaner
/usr/lib/python-exec/python3.3/webapp-config
/usr/lib/python-exec/python3.2/webapp-config
/usr/lib/python-exec/python2.7/webapp-config
....
$ ls -l /usr/sbin/webapp-config
lrwxrwxrwx 1 root root 31 Jan 13 09:38 /usr/sbin/webapp-config -> ../lib/python-exec/python-exec2

/usr/lib/python-exec/python2.7/webapp-config — твой клиент

hizel ★★★★★
()
Ответ на: комментарий от hizel

Проблема в том, что python-exec запускает не тот скрипт. Если попробовать вызвать webapp-config, он вместо этого запускает pip, что не дает установить django из портежа.

vurdalak ★★★★★
() автор топика
Ответ на: комментарий от vurdalak

О, ну значит установив pip из исходников ты по симлинку перезаписал python-exec и сломал почти все python-пакеты, поздравляю

Pinkbyte ★★★★★
()
Ответ на: комментарий от vurdalak

Ну значит они перезаписали python-exec(или потянули новый pip? хз, без логов гадать не хочу). Покажи содержимое /usr/bin/python-exec и /usr/lib/python-exec/python-exec2

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

Переустановил python-exec, теперь джанга вроде ставится. Сейчас посмотрим, пофиксился ли дебаг-тулбар :)

Благодарю за помощь.

vurdalak ★★★★★
() автор топика

Ага. Джанга, видимо, обновилась, и старая debug-toolbar из портежа с ней уже не совместима. Пойду на багзиллу, просить ебилд для новой.

vurdalak ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.