2012-07-02 2 views
1

Можно создать дубликат:
Upgrade python without breaking yumPython Redhat версия выпуск

Я бегу Redhat VM (2.6.18-274.el5 64 бит). Я установил nodejs на vm для использования браузера. Чтобы запустить nodejs, мне пришлось обновить Python до версии 2.6 или выше. Я установил 2.7 из источника, используя make altinstall. Затем я создал жесткую ссылку с 2.4 до 2.7. При проверке python -V теперь отображается значение 2.7 по умолчанию. Все это получилось прекрасно, и узел теперь запущен и работает.

There was a problem importing one of the Python modules 
required to run yum. The error leading to this problem was: 

    No module named yum 

Please install a package which provides this module, or 
verify that the module is installed correctly. 

It's possible that the above module doesn't match the 
current version of Python, which is: 
2.7.2 (default, Jul 2 2012, 23:35:52) 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-51)] 

If you cannot solve this problem yourself, please go to 
the yum faq at: 
    http://wiki.linux.duke.edu/YumFaq 

Моя проблема Yum. Он больше не работает, поскольку ищет более старую версию Python, которая равна 2,4? Есть ли в любом случае, что я могу работать как в Yum, так и в узле, используя разные версии?

+2

Вы не должны пытаться заменить системный питон на машину redhat. Вместо этого вы можете установить новый питон в, например,/usr/local, и использовать его для требующих его сценариев. – geoffspear

ответ

1

Здесь есть две проблемы. Во-первых, вы нарушили свой системный питон. Yum устанавливается в пакеты сайта python. Если вы повредите python, yum сломается. Нарушение установки системы python - глупая идея. Возможно, вы создали резервные копии или у вас есть другая сестра-машина, из которой вы можете пересадить оригинальный 2.4-питон.

Другая проблема заключается в том, что нет проблем с наличием нескольких питонов на одной машине. Чтобы установить Node.js, вы должны просто указать, какой питон использовать. Set PYTHON=/opt/local/my/path/to/python2.7/bin/python, возможно PYTHONHOME а также перед запуском ./configure.

+0

Tadeusz, я не думаю, что есть проблема. Я должен уметь удалить жесткую ссылку и вернуться обратно к 2.4-питону 2.4, находящемуся в папке/usr/bin, если мне не хватает чего-то здесь? Удалит ли помощь жесткой ссылки в этом случае или есть ли другие варианты? – DanyZift

+0

как побочная заметка, я испытал эту же проблему, когда инструмент обновления RHEL 6.8-7.3 отказался обновляться, пока я не удалил python. Наконец, получил мой новый rhel 7.3 и без менеджера пакетов, хотя он установил python 2.7.8, и он жаловался на то, что не нашел python 2.7.8. –

0

Вы не должны перезаписывать систему Python; слишком много сценариев полагаются на знание поведения этого интерпретатора. У вас может быть установлена ​​более новая версия Python в /usr/local, а затем использовать пакет Python virtualenv, чтобы дополнительно изолировать ваши среды по мере необходимости.

+0

Оригинальный python по-прежнему находится в системе в каталоге/usr/bin. 2.7 был установлен в каталоге/usr/local/bin. Будет ли удаление жесткой ссылки не возвращаться к предыдущей или мне придется установить исходную версию с помощью силовой установки? – DanyZift

+0

Попробуйте. Это зависит от того, что вы сделали что-то помимо простого связывания, о котором я не могу сказать. – syrion

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