Установите python 2.6 в CentOS

У меня есть оболочка, которая запускает CentOS.

Для проекта, который я делаю, мне нужен python 2.5+, но centOS довольно зависим от 2.4.

Из того, что я прочитал, некоторые вещи сломаются, если вы перейдете на 2.5.

Я хочу установить 2.5 отдельно от 2.4, но я не уверен, как это сделать. Пока я загрузил исходный tarball, распаковал его и сделал ./configure --prefix=/opt, где я хочу, чтобы он закончил. Могу ли я теперь просто make, make install? Или есть еще?

Ответ 1

Вы также можете использовать EPEL-репозиторий, а затем sudo yum install python26 установить python 2.6

Ответ 2

Попробуйте epel

wget http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
sudo rpm -ivh epel-release-5-4.noarch.rpm
sudo yum install python26

Исполняемый файл python будет доступен в /usr/bin/python26

mkdir -p ~/bin
ln -s /usr/bin/python26 ~/bin/python
export PATH=~/bin:$PATH # Append this to your ~/.bash_profile for persistence

Теперь команда python выполнит python 2.6

Ответ 3

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

https://www.activestate.com/activepython/downloads/

Это устанавливается при запуске script, который помещает все в папку и не касается каких-либо системных файлов. На самом деле вам даже не нужны права root для его настройки. Затем я меняю имя двоичного файла на нечто вроде apy26, добавляю эту папку в конец PATH и начинаю кодирование. Если вы устанавливаете пакеты с помощью apy26 setup.py install, или если вы используете virtualenv и easyinstall, тогда у вас будет такая же гибкая среда python, сколько вам нужно, не касаясь системного стандартного питона.

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

Мой сайт github имеет сборку script, которая была тщательно протестирована на Ubuntu Lucid 10.04 LTS как на 32, так и на 64 бит. Я также построил его на Debian Etch, но это было давно, и я не могу гарантировать, что я ничего не изменил. Самый простой способ сделать это - просто поместить свой выбор Ubuntu Lucid в виртуальную машину, проверить script на git clone git://github.com/wavetossed/pybuild.git, а затем запустить script.

Как только вы его построите, используйте tarball на любом последнем дистрибутиве Linux. Существует одна небольшая морщина, перемещающая ее в каталог, отличный от /data1/packages/python272, который заключается в том, что вы должны запустить включенный patchelf, чтобы установить путь интерпретатора ПЕРЕД двигателем каталога. Это влияет на любые двоичные файлы в /data1/packages/python272/bin

Все это основано на построении с RUNPATH и копировании зависимых разделяемых библиотек. Несмотря на то, что script находится в нескольких файлах, это фактически одна длинная оболочка script, расположенная в стиле директорий/etc/rc.d.

Ответ 4

Нет, это так. Возможно, вы захотите убедиться, что у вас есть все дополнительные заголовки библиотек, поэтому вам не придется перекомпилировать их позже. Они перечислены в документации, я думаю.

Кроме того, вы можете установить его даже в стандартном пути, если вы выполняете make altinstall. Таким образом, он не переопределит ваш текущий "python" по умолчанию.

Ответ 5

Не нужно делать yum или создавать свой собственный RPM. Постройте python26 из источника.

wget https://www.python.org/ftp/python/2.6.6/Python-2.6.6.tgz
tar -zxvf Python-2.6.6.tgz
cd Python-2.6.6
./configure && make && make install

Может быть ошибка зависимостей использовать

yum install gcc cc

Добавьте путь установки (/usr/local/bin/python по умолчанию) в ~/.bash_profile.

Он не сломает yum или любые другие вещи, которые зависят от python24.

Ответ 6

Chris Lea предоставляет репозиторий YUM для RPM python26, который может сосуществовать с "родным" 2.4, который необходим для нескольких администраторов инструменты для CentOS.

Быстрые инструкции, которые работали хотя бы для меня:

$ sudo rpm -Uvh http://yum.chrislea.com/centos/5/i386/chl-release-5-3.noarch.rpm
$ sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CHL
$ sudo yum install python26
$ python26

Ответ 7

Если вы хотите сделать это проще для себя, есть CentOS RPM для новых версий Python, плавающих по сети. Например. см:

http://www.geekymedia.com/python_26_centos.html

Ответ 8

Когда вы устанавливаете свою версию python (в данном случае это python2.6), затем выполните эту команду, чтобы создать свой virtualenv:

virtualenv -p /usr/bin/python2.6 /your/virtualenv/path/here/

Ответ 9

Поздно к партии, но OP должен был пойти с Buildout или Virtualenv и полностью устранить проблему.

В настоящее время я работаю над сервером Centos, ну, я бы сказал, что это будет подходящий термин, и я могу заверить всех, что единственный способ, которым я могу моргнуть от слез, используя программные эквиваленты огнеупорных копьев, - это buildout,

Ответ 12

rpm -Uvh http://yum.chrislea.com/centos/5/i386/chl-release-5-3.noarch.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CHL
rpm -Uvh ftp://ftp.pbone.net/mirror/centos.karan.org/el5/extras/testing/i386/RPMS/libffi-3.0.5-1.el5.kb.i386.rpm
yum install python26
python26

для dos, которые просто не знают: =)

Ответ 13

# yum groupinstall "Development tools"
# yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel

Загрузите и установите Python 3.3.0

# wget http://python.org/ftp/python/3.3.0/Python-3.3.0.tar.bz2
# tar xf Python-3.3.0.tar.bz2
# cd Python-3.3.0
# ./configure --prefix=/usr/local
# make && make altinstall

Загрузите и установите Distribute для Python 3.3

# wget http://pypi.python.org/packages/source/d/distribute/distribute-0.6.35.tar.gz
# tar xf distribute-0.6.35.tar.gz
# cd distribute-0.6.35
# python3.3 setup.py install

Установить и использовать virtualenv для Python 3.3

# easy_install-3.3 virtualenv
# virtualenv-3.3 --distribute otherproject

New python executable in otherproject/bin/python3.3
Also creating executable in otherproject/bin/python
Installing distribute...................done.
Installing pip................done.

# source otherproject/bin/activate
# python --version
Python 3.3.0

Ответ 14

Я не понял исходную версию python (2.6.6) и установил 2.7 (с опцией make && make altinstall), но когда я попытался установить что-то с yum, это не сработало.

Итак, я решил эту проблему следующим образом:

Готово