Python и Yum выпускают CentOS 5.4

Я новичок в Linux/CentOS, и мне не очень весело с ним работать. Я разрабатывал что-то локально на своем Mac, используя Python 2.7, когда я запускал его на сервере, я столкнулся с проблемами, которые я назвал устаревшей версией Python (2.4.3). Затем я обновил ее, что было не очень хорошо идея. Я собрал его из исходников, а потом столкнулся с проблемами, Yum и другие модули исчезли.

Я больше не использую Python 2.4.3, но у меня все еще нет Yum.

[root@issues ~]# yum Не удалось найти библиотеки, не зависящие от платформы. Не удалось найти библиотеки, зависящие от платформы. Попробуйте установить для $PYTHONHOME значение [:]

«импортировать сайт» не удалось; используйте -v для трассировки Возникла проблема с импортом одного из модулей Python, необходимых для запуска yum. Ошибка, приводящая к этой проблеме, была:

Нет модуля с именем yum

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

Возможно, указанный выше модуль не соответствует текущей версии Python, а именно: 2.4.3 (#1, 18 июня 2012 г., 08:55:31) [GCC 4.1.2 20080704 (Red Hat 4.1.2-52). )]

Если вы не можете решить эту проблему самостоятельно, обратитесь к часто задаваемым вопросам по yum по адресу: http://wiki.linux.duke.edu/YumFaq

Просматривая множество форумов, все говорят, что это из-за другой версии Python, для меня это уже не так, я думаю, что это как-то связано с сопоставлением Yum с другим каталогом.

Я нашел эту команду где-то еще и выполнил это:

[root@issues ~]# rpm -V python

отсутствует /usr/bin/python2

отсутствует /usr/bin/python2.4

Кто знает что делать и куда обратиться за помощью? Мне очень нужно исправить это как можно скорее!

Спасибо

На самом деле просто добавить: если я запускаю python, я получаю этот вывод.

[root@issues ~]# питон

Не удалось найти независимые от платформы библиотеки

Не удалось найти зависимые от платформы библиотеки

Рассмотрите возможность установки $PYTHONHOME в [:]

«импортировать сайт» не удалось; используйте -v для трассировки

Python 2.4.3 (#1, 18 июня 2012 г., 08:55:31)

[GCC 4.1.2 20080704 (Red Hat 4.1.2-52)] на linux2

Введите «помощь», «авторское право», «кредиты» или «лицензия» для получения дополнительной информации.

>


person Rich    schedule 23.06.2012    source источник
comment
Итак, ваш питон не работает? или ням не работает? или они оба?   -  person Ali Ismayilov    schedule 23.06.2012
comment
Выглядят оба сейчас. Python не может импортировать модуль сайта   -  person pyfunc    schedule 23.06.2012
comment
Python работает нормально, пока мне не нужно что-то импортировать. Yum вообще не работает, но я чувствую, что проблема связана с ними обоими.   -  person Rich    schedule 23.06.2012


Ответы (1)


Да, в системах Linux не рекомендуется обновлять Python по умолчанию, который является версией 2.4.x, а управление пакетами Linux и многие другие инструменты требуют, чтобы он работал правильно. Всегда лучше устанавливать другие версии Python отдельно и использовать их напрямую (например: /usr/bin/python2.7)

Сам исполняемый файл Python работает неправильно, так как не может загрузить «сайт» модуля по умолчанию во время запуска.

Установка python не работает.

Поскольку вы не можете использовать "Yum" или "RPM" для начальной загрузки ваших пакетов, я предлагаю вам использовать установочный компакт-диск "ОС" или образ ISO для прямой установки пакетов rpm/yum. Это исправит установку python как зависимость.

Я прошел через эту проблему, и после различных испытаний это был единственный способ исправить это.

[Редактировать:]

См.: проблемы с несколькими версиями Python 2.x, касающиеся PYTHONPATH

Также ошибка в том, что он не может найти каталог пакета.

Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]

Посмотри, какие у меня есть пути. Проверьте путь к пакетам и можете ли вы установить "PYTHONHOME".

# installing zipimport hook
import zipimport # builtin
# installed zipimport hook
# /usr/lib64/python2.4/site.pyc matches /usr/lib64/python2.4/site.py
import site # precompiled from /usr/lib64/python2.4/site.pyc
# /usr/lib64/python2.4/os.pyc matches /usr/lib64/python2.4/os.py
import os # precompiled from /usr/lib64/python2.4/os.pyc

Если вы не можете найти аналогичное расположение пакета, можете ли вы использовать RPM для повторной прямой установки python2.4?

rpm --force -hUv url_for_python_rpm
person pyfunc    schedule 23.06.2012
comment
Спасибо за вашу помощь. К сожалению, это не вариант, так как это удаленный сервер. Тем не менее, RPM работает нормально. Если я запускаю rpm, я не получаю ошибок? - person Rich; 23.06.2012
comment
@Rich: Можешь попробовать запустить - python -v. Кажется, есть проблема с импортом пакетов. Это связано с тем, что для этого требуется пакет site, а он не может этого сделать. - person pyfunc; 23.06.2012
comment
Есть ли простой способ изменить это? - person Rich; 23.06.2012
comment
Ждать. Я такой идиот, что приведенный выше ответ был запущен локально, на сервере я получаю: pastebin.com/SmPN2h9T - person Rich; 23.06.2012
comment
Хорошо, теперь я изменил PYTHONPATH и PYTHONHOME. Я больше не получаю ошибку YUM, но вместо этого «Нет модуля с именем ОС» я установил оба пути в /usr/lib/python2.4/site-packages. - person Rich; 23.06.2012
comment
site-packages предназначен для внешних пакетов. пакеты по умолчанию находятся на один каталог выше - person pyfunc; 23.06.2012
comment
И заглянув туда, я не нахожу таких файлов, как os.py. Я запустил «find / -name os.py», и он нашел его в файле python2.7, который я больше не использую. - person Rich; 23.06.2012
comment
@Rich: Вам действительно нужно принудительно переустановить python2.4 с помощью rpm. - person pyfunc; 23.06.2012
comment
спасибо, я сделал это, а затем столкнулся с другими проблемами, потратил около 4 часов этим утром, но теперь все работает. Спасибо за вашу помощь! - person Rich; 24.06.2012
comment
Я смог исправить с помощью этого ответа. У меня все еще было python2.4 в /usr/bin, поэтому я изменил символическую ссылку, чтобы она указывала на 2.4 вместо 2.7. Теперь ням работает. - person Jess; 31.07.2013