Обновление Fedora Python нарушило easy_install
-
06-09-2019 - |
Вопрос
Fedora Core 9 включает в себя Python 2.5.1.Я могу использовать YUM для получения последних и самых лучших релизов.
Чтобы подготовиться к официальному тестированию 2.6, я хотел начать с 2.5.4.Похоже, что нет пакета Fedora 9 YUM, потому что 2.5.4 не является официальной частью FC9.
Я скачал 2.5.4, сделал ./configure; make; make install
и в итоге получил двух Питонов.Официальный 2.5.1 (в /usr/bin
) и новый пункт 2.5.4.(в /usr/local/bin
).
Ни одна из моих технологий не установлена в /usr/local/lib/python2.5
.
Похоже, что у меня есть несколько вариантов продвижения вперед.У кого-нибудь есть какие-нибудь предпочтения?
Скопируйте /usr/lib/python2.5/* в /usr/local/lib/ python2.5, чтобы скопировать мою среду.Это должно сработать, если только какая-то часть библиотек Python не подключена к /usr/bin/ python во время установки.Это, конечно, просто, но есть ли в этом обратная сторона?
Переустановите все, запустив
easy_install
.За исключением,easy_install
подключен (в настоящее время) к/usr/bin/python
.Итак, я должен был бы исправитьeasy_install
сначала переустановите все заново.Это занимает некоторое время, но зато дает мне чистую, новую, новейшую и великолепную обстановку.Но есть ли здесь обратная сторона?[И почему easy_install сам подключается жестко?]
Повторная ссылка
/usr/bin/python
быть/usr/local/bin/python
.Мне все равно пришлось бы скопировать или переустановить библиотеку, так что я не думаю, что это принесет мне какую-то пользу.[Это сделало быeasy_install
работа;но то же самое можно сказать и о редактировании/usr/bin/easy_install
.]
Кто-нибудь скопировал их библиотеку?Неужели это так просто?
Или я должен исправить easy_install
и просто пройдите через руководство по установке и создайте новое, чистое, новейшее и самое лучшее?
Редактировать
Или, может быть, мне следует
- Пропустить попытки решить проблемы 2.5.1 и 2.5.4 и просто перейти сразу к 2.6?
Решение
Обычно у вас должна быть установлена только одна версия выпуска python.Поскольку версии 2.5.1 и 2.5.4 относятся к одному и тому же выпуску, копирование ваших библиотек должно работать нормально.На что вам нужно обратить внимание, так это на то, что теперь у вас есть /usr/bin/python и /usr/local/bin/ python в вашем path, и некоторые утилиты могут запутаться.
Если вам нужно установить оба микрорелиза одновременно, я бы вообще убрал 2.5.4 с вашего пути или позволил бы ему полностью перекрыть другой (хотя делайте это на свой страх и риск ;) Если вы выберете первое, вы также можете указать 2.5.4 на свои пакеты сайта, используя переменную окружения PYTHONPATH .
Ubuntu идет другим путем, и именно так вы можете обрабатывать различные основные версии.Двоичный файл python предоставляется с добавленной версией:
/usr/bin/python -> python2.6
/usr/bin/python2.5
/usr/bin/python2.6
У каждого есть свой собственный каталог /usr/lib/python2.X с версиями всех модулей.
И, наконец, вы можете дополнительно настроить свои настройки с помощью изменение вашего site.py
Другие советы
Я предлагаю вам создать virtualenv (или несколько) для установки пакетов в него.
У меня был аналогичный опыт и проблемы при установке Python 2.5 в более старую версию ubuntu, которая поставляла 2.4 из коробки.
Сначала я попытался залатать easy_install
, но это привело к проблемам со всем, что хотело использовать версию python, поставляемую операционной системой.Я часто возился с цепочкой инструментов, чтобы исправить различные ошибки, которые могли возникать при каждой установке.Установка любого программного обеспечения на python через apt или установка любого программного обеспечения из apt, у которого был python easy_install
сценарий, как часть установки, часто был забавным.Я уверен, что, вероятно, мог бы быть более бдительным при исправлении easy_install
, но я сдался.
Вместо этого я скопировал библиотеку, и все заработало.Как вы сказали, могут возникнуть проблемы в зависимости от того, что вы установили, но я не сталкивался с проблемами.Двойная проверка Python's site.py
модуль, я действительно видел, что он полностью работает с относительными путями, динамически создавая абсолютные пути;это придало мне некоторую уверенность в том, что я могу попробовать подход "копировать все".Я перепроверил все .pth
файлы, затем взялся за дело.