Назад | Перейти на главную страницу

Обновление Python 2.X на CentOS или RHEL

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

Я делаю некоторые манипуляции с файлами в python, которые используют модуль zipfile. В настоящее время установлена ​​версия python 2.4.3, но в модуле zipfile используются операторы with, которые, как мне кажется, появились в версии 2.5 (мне также нужно будет использовать модуль tarfile; хотя я его не тестировал , Думаю, я столкнусь с той же проблемой).

Мой текущий план действий - выяснить, как обновить установку python. Но, абсолютно ничего не зная о Linux и очень мало о Python, я даже не знаю, с чего начать. Я смотрю несколько похожих сообщений, в которых упоминалось об установке в другой каталог. Однако я не устанавливал его в первую очередь. Я даже не знаю, как устанавливать в linux ...

Любая помощь будет принята с благодарностью! Кроме того, если есть способ лучше, чем пытаться обновить python, я полностью открыт для предложений. Просто помните: мой Linux-интеллект примерно такой же, как у четырехлетнего ребенка. Спасибо!

ЛЕГКИЙ СПОСОБ:

просто работайте с командами zip напрямую, вместо использования старого модуля zip:

import subprocess
subprocess.call('unzip <path to your file>')

или, альтернативно, используйте subprocess.Popen.

И после отправки своего ответа я хотел бы озаглавить эту часть:

ТРУДНЫЙ ПУТЬ:

Судя по версии Python, вы используете Red Hat 5 или CentOS 5.

Вот как это выглядит в моем Red Hat 5.8 в работе:

oz@server ~ $ /usr/bin/python                                            
Python 2.4.3 (#1, Dec 22 2011, 12:12:01) 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-50)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> f = open('/etc/redhat-release')                                             
>>> f.readlines()
['Red Hat Enterprise Linux Server release 5.8 (Tikanga)\n']

Большинство других версий Ubuntu и Debian имеют более новую версию Python.

В любом случае, обновление Python должно работать так:

  1. Сначала вам нужно знать пароль администратора (root в мире Linux).
  2. введите «su», чтобы перейти на root - ПОБЕДИТЕСЬ ЗДЕСЬ, это опасная ситуация. Быть ROOT опасно.
  3. тип:
yum groupinstall "development tools" -y     
yum install readline-devel openssl-devel gmp-devel ncurses-devel gdbm-devel \
glib-devel expat-devel libGL-devel tk tix gcc-c++ \ 
libX11-devel glibc-devel bzip2 tar tcl-devel tk-devel pkgconfig \
tix-devel bzip2-devel sqlite-devel autoconf db4-devel libffi-devel \
valgrind-devel -y    
mkdir tmp  
cd tmp  
wget http://python.org/ftp/python/2.7.5/Python-2.7.5.tgz  
tar xvfz Python-2.7.5.tgz  
cd Python-2.7.5

ЭТО важно, иначе вы сотрете свою систему PYTHON !!! вы не хотите этого делать, потому что многие системные компоненты зависят от Python.

./configure --prefix=/opt/python2.7 --enable-shared

Нет, скомпилируйте сам софт:

make

Затем установите его:

make altinstall

Не пропустите --prefix = / opt ./configure --prefix = / opt / python2.7

Наконец, вам нужно установить переменную PATH, чтобы включить питон, на котором был установлен Python.

export PATH=$PATH:/opt/python2.7/bin/

Чтобы сделать это постоянным, отредактируйте свой .bashrc и добавьте указанную выше строку!

Удачи и добро пожаловать в Linux :-)

Самый простой способ обновить Python в Linux - попросить кого-нибудь сделать это за вас; в вашем дистрибутиве часто есть много людей, которые упаковывают обновления специально для который распространение. Прежде чем закатать рукава и залезть в него, посмотрите, сделали ли они уже свою работу.

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

  1. Ваш выпуск распространения может быть старым, а обновления больше не доступны.
  2. Ваш дистрибутив может ценить стабильность выше передового, и еще не решил, что следующий выпуск будет достаточно стабильным (или должным образом протестированным).
  3. Возможно, ваш дистрибутив не содержит необходимых модулей, поэтому вы должны установить их самостоятельно.

Для моего распространения rpm - это менеджер пакетов, а yum - интерфейс командной строки. Чтобы проверить, существует ли обновление для пакета с yum, я набираю

yum check-updates <package name>

и чтобы обновить то, что я набираю

yum update <package name>

Каким бы ни был ваш результат в отношении модуля Python, вам следует немного узнать о своем диспетчере пакетов и о том, как его использовать, чтобы избежать необходимости изучать его в критический момент.

Если вы не найдете упакованную для вас версию, подходящую для вас, иногда при поиске в Google можно найти человека, который упаковал нужную версию для вашего дистрибутива, даже если ваш дистрибутив еще этого не сделал. Если это так, и если вы уверены, что другой человек не делает что-то злонамеренное, вы обычно можете установить его пакет.

Если предварительно упакованной версии не существует, то вы застряли и должны прочитать страницы «как установить» конкретного элемента, а для Python это точно отражает «трудный путь» Максима, что может показаться пугающим, но после того, как вы это сделаете несколько раз понимаешь, что это не так уж и сложно.

Имейте в виду, что программное обеспечение, установленное вне ведома диспетчера пакетов, вероятно, никогда не будет известно диспетчеру пакетов, поэтому в будущем использование диспетчера пакетов в отношении этого программного обеспечения, вероятно, потребуется обрабатывать специально, чтобы диспетчер пакетов не мог что-то сделать это имеет смысл, если ваша версия Python не установлены.

Не знаю, почему существует такое сопротивление простой сборке Python из исходников, потому что это действительно довольно просто:

$ tar jxf Python-2.7.3.tar.bz2   # unpack the source tarball
$ cd Python-2.7.3                # cd into the source directory
$ ./configure --prefix=$HOME     # configure for your system
$ make                           # build everything
$ make install                   # install (in $HOME/bin, $HOME/share, etc )

Если вы нервничаете по поводу выполнения шага установки, сначала выполните make DESTDIR=/tmp/foo install и установите все в / tmp / foo. Осмотрите это дерево каталогов, затем rm -rf /tmp/foo (Если у вас нет важных файлов в /tmp/foo перед тем, как начать процедуру, конечно!)

Если вы получите ошибки, то придется поработать, но очень высоки шансы, что сборка будет работать без ошибок.

Как только вы это сделаете, вы сможете запустить $HOME/bin/python