2015-03-08 3 views
1

я следовал этим инструкциям, появляющимся на моем RedHat Linux версии 7-сервера (который первоначально только что установлен Python 2.6.x):Моя установка python повреждена/повреждена. Как это исправить?

начало инструкции

установки инструментов сборки

sudo yum install make automake gcc gcc-c++ kernel-devel git-core -y 

установки Python 2.7 и изменить значение по умолчанию python symlink

sudo yum install python27-devel -y 
sudo rm /usr/bin/python 
sudo ln -s /usr/bin/python2.7 /usr/bin/python 

yum по-прежнему нуждается в 2.6, поэтому напишите его и создайте резервную копию

sudo cp /usr/bin/yum /usr/bin/_yum_before_27 
sudo sed -i s/python/python2.6/g /usr/bin/yum 
sudo sed -i s/python2.6/python2.6/g /usr/bin/yum 

должен отображать Теперь 2.7.5 или более поздней версии:

python -V 

конец инструкции

Приведенные выше команды и комментарии были взяты из:

http://www.lecloud.net/post/61401763496/install-update-to-python-2-7-and-latest-pip-on

питон -v возвращает:

-bash: python: command not found 

Теперь, как будто у меня нет установленного Python. Я не хочу, чтобы ям ломался. Я попытался установить Python 3.4.

whereis python показывает это:

питон: /usr/bin/python2.6 /usr/bin/python2.6-config/USR/бен/питон /usr/lib/python2.6/USR/lib64 /python2.6 /usr/local/bin/python2.7 /usr/local/bin/python3.4m-config /usr/local/bin/python2.7-config /usr/local/bin/python3.4/usr /local/bin/python3.4m /usr/local/lib/python2.7 /usr/local/lib/python3.4 /usr/include/python2.6 /usr/share/man/man1/python.1.gz

Что мне теперь делать? Мне нужна рабочая установка Python. Для некоторых вещей, которые я делаю, мне нужно, чтобы это было 2.7 или выше. Я хочу, чтобы юм все еще работал.

+2

Почему вы не просто установить 'python27' пакет и оставить его в этом? – MattDMo

+0

Кажется, он не работает. Я выполнил некоторые инструкции, которые я нашел в Интернете для этого. Но мои результаты от python -V показали, что 2.6.x все еще установлен. – Propulsion

ответ

0

Это легко установить, установив пакет python27 через yum. Он должен установить в /usr/bin и может перезаписать символическую ссылку /usr/bin/python, которая должна указывать на 2.6. Если это так (просто запустите ls -l python* в /usr/bin, чтобы увидеть), удалите символическую ссылку и верните ее обратно в 2.6. Затем создайте символическую ссылку для /usr/local/bin/python, указывая на /usr/bin/python2.7. И, наконец, изменить ваш ~/.bashrc или ~/.bash_profile (в зависимости от того вы используете), чтобы иметь /usr/local/bin до того /usr/bin в вашем PATH:

export PATH=/usr/local/bin:$PATH 

в самом конце файла. Таким образом, /usr/bin/python остается связанным с Python 2.6, чего ожидает система, и когда вы запустите python в командной строке, он запустит 2,7. Вам не нужно вносить какие-либо изменения в сценарий yum - просто замена одеяла python с python2.6, не понимая, что вы делаете, не очень хорошая идея.

Я также рекомендую установить Python 3.4 в /usr/local/bin, если возможно, где двоичный код будет обозначен python3 по соглашению. Даже если он устанавливается в /usr/bin, у вас все еще будет выбор работы python3 или python3.4, чтобы указать, какую версию вы хотите. Я работаю над системой CentOS, у которой есть каждая версия Python с 2,4 до 3,4, все в /usr/local/bin (я уверен, что это было сделано вручную, а не через yum), а только python* в /usr/bin - 2,6. Я не смог найти пакет python3 для RedHat (возможно, я не слишком много выглядел), поэтому я бы рекомендовал создать последнюю версию с source (3.4.3 на момент написания этой статьи). Разархивируйте архив в подходящей директории, проверьте файл README, затем в каталоге Python-3.4.3 запустите ./configure --help, чтобы узнать, какие параметры есть, и если вам нужно что-либо изменить. До тех пор, пока у вас есть gcc установлены, и не нужно связать с какой-либо странными математическими библиотеками или что-нибудь, вы просто должны быть в состоянии выполнить:

./configure 
make 
make test 
sudo make install 

, и он будет установить на /usr/local/bin. Проверьте сообщения в конце этапа make, так как он перечислит все модули, которые он не смог построить там. Неудачи обычно происходят из-за того, что у вас нет установленной библиотеки, поэтому посмотрите в setup.py в базовом каталоге в функции detect_modules() (начиная с строки 449 и растягивая весь путь до строки 1564). Установите оба пакета lib и -devel, чтобы получить необходимые заголовки.

Этот же процесс также может быть выполнен, если вы хотите установить последнюю версию 2.7.9 вместо 2.7.5 RH. Одним из основных (на мой взгляд) преимуществ 2.7.9 является то, что pip установлен по умолчанию, что упрощает установку стороннего модуля.

Удачи вам!

1

ли

sudo update-alternatives --remove-all python 
sudo ln -sf /usr/bin/python2.7 /usr/bin/python 
+0

Я не знаю, как это сработало для меня! Я «случайно» удалил некоторые .so-файлы, и это исправило это. – Saksow

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