В linux SUSE или RedHat, как загрузить Python 2.7

может ли кто-нибудь предоставить шаги, необходимые для установки python версии 2.7 на SUSE и RedHat? Это версия, которая находится там, как 2.4, и мне нужно иметь ее по крайней мере 2.6, чтобы мой скрипт работал. Поэтому после установки я могу ввести Python в xTerm и получить интерфейс командной строки Python 2.7.

11 ответов


инструкции по загрузке источника и установке:

https://www.python.org/download/

Примечание: Вы должны проверить последнюю версию Python 2.7.x, поскольку он часто обновляется. В настоящее время (октябрь 2017), последняя версия 2.7.14, хотя этот комментарий будет получить старые и новые версии, вероятно, будет выпущен каждые 6 месяцев или около того.

wget https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tgz # Download
tar xvfz Python-2.7.14.tgz # unzip
cd Python-2.7.14 # go into directory
./configure
make # build
su # or 'sudo su' if there is no root user
make altinstall

(EDIT: make install -> make altinstall в комментарии Игнасио).


RHEL 6.2 использование (имел Python 2.6, мне нужно Python 2.7.3) так:

$ sudo sh -c 'wget -qO- http://people.redhat.com/bkabrda/scl_python27.repo >> /etc/yum.repos.d/scl.repo'

$ yum search python27
Loaded plugins: amazon-id, rhui-lb, security
scl_python27                                                                                                                                      | 2.9 kB     00:00     
scl_python27/primary_db                                                                                                                           |  38 kB     00:00     
========================================================================= N/S Matched: python27 =========================================================================
python27.i686 : Package that installs python27
python27.x86_64 : Package that installs python27
python27-expat-debuginfo.i686 : Debug information for package python27-expat
python27-expat-debuginfo.x86_64 : Debug information for package python27-expat
python27-python-coverage-debuginfo.i686 : Debug information for package python27-python-coverage
python27-python-coverage-debuginfo.x86_64 : Debug information for package python27-python-coverage
python27-python-debuginfo.i686 : Debug information for package python27-python
python27-python-debuginfo.x86_64 : Debug information for package python27-python
python27-python-markupsafe-debuginfo.i686 : Debug information for package python27-python-markupsafe
python27-python-markupsafe-debuginfo.x86_64 : Debug information for package python27-python-markupsafe
python27-python-simplejson-debuginfo.i686 : Debug information for package python27-python-simplejson
python27-python-simplejson-debuginfo.x86_64 : Debug information for package python27-python-simplejson
python27-python-sqlalchemy-debuginfo.i686 : Debug information for package python27-python-sqlalchemy
python27-python-sqlalchemy-debuginfo.x86_64 : Debug information for package python27-python-sqlalchemy
python27-runtime.i686 : Package that handles python27 Software Collection.
python27-runtime.x86_64 : Package that handles python27 Software Collection.
python27-babel.noarch : Tools for internationalizing Python applications
python27-build.i686 : Package shipping basic build configuration
python27-build.x86_64 : Package shipping basic build configuration
python27-expat.i686 : An XML parser library
python27-expat.x86_64 : An XML parser library
python27-expat-devel.i686 : Libraries and header files to develop applications using expat
python27-expat-devel.x86_64 : Libraries and header files to develop applications using expat
python27-expat-static.i686 : expat XML parser static library
python27-expat-static.x86_64 : expat XML parser static library
python27-python.i686 : An interpreted, interactive, object-oriented programming language
python27-python.x86_64 : An interpreted, interactive, object-oriented programming language
python27-python-babel.noarch : Library for internationalizing Python applications
python27-python-coverage.i686 : Code coverage testing module for Python
python27-python-coverage.x86_64 : Code coverage testing module for Python
python27-python-debug.i686 : Debug version of the Python runtime
python27-python-debug.x86_64 : Debug version of the Python runtime
python27-python-devel.i686 : The libraries and header files needed for Python development
python27-python-devel.x86_64 : The libraries and header files needed for Python development
python27-python-docutils.noarch : System for processing plaintext documentation
python27-python-jinja2.noarch : General purpose template engine
python27-python-libs.i686 : Runtime libraries for Python
python27-python-libs.x86_64 : Runtime libraries for Python
python27-python-markupsafe.i686 : Implements a XML/HTML/XHTML Markup safe string for Python
python27-python-markupsafe.x86_64 : Implements a XML/HTML/XHTML Markup safe string for Python
python27-python-nose.noarch : Discovery-based unittest extension for Python
python27-python-nose-docs.noarch : Nose Documentation
python27-python-pygments.noarch : Syntax highlighting engine written in Python
python27-python-setuptools.noarch : Easily build and distribute Python packages
python27-python-simplejson.i686 : Simple, fast, extensible JSON encoder/decoder for Python
python27-python-simplejson.x86_64 : Simple, fast, extensible JSON encoder/decoder for Python
python27-python-sphinx.noarch : Python documentation generator
python27-python-sphinx-doc.noarch : Documentation for python-sphinx
python27-python-sqlalchemy.i686 : Modular and flexible ORM library for python
python27-python-sqlalchemy.x86_64 : Modular and flexible ORM library for python
python27-python-test.i686 : The test modules from the main python package
python27-python-test.x86_64 : The test modules from the main python package
python27-python-tools.i686 : A collection of development tools included with Python
python27-python-tools.x86_64 : A collection of development tools included with Python
python27-python-virtualenv.noarch : Tool to create isolated Python environments
python27-python-werkzeug.noarch : The Swiss Army knife of Python web development
python27-python-werkzeug-doc.noarch : Documentation for python-werkzeug
python27-tkinter.i686 : A graphical user interface for the Python scripting language
python27-tkinter.x86_64 : A graphical user interface for the Python scripting language

  Name and summary matches only, use "search all" for everything.

EDIT:

CentOS 6.x: http://dev.centos.org/centos/6/SCL/x86_64/python27/

$ sudo sh -c 'wget -qO- http://dev.centos.org/centos/6/SCL/scl.repo >> /etc/yum.repos.d/scl.repo'
$ scl enable python27 'python --version'
python 2.7.5
$ scl enable python27 bash
$ python --version
Python 2.7.5

принято отвечать д-р Джим-Боб (используя make altinstall) у меня большую часть пути там, с python2.7 на /usr/local/bin но мне также нужно было установить некоторые сторонние модули. Хорошо, что easy_install получает свои места установки из версии Python, которую вы используете, но я обнаружил, что мне все еще нужно установить easy_install для Python 2.7, иначе я бы получил ImportError: No module named pkg_resources. Так я и сделал:

wget http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg
sudo -i
export PATH=$PATH:/usr/local/bin
sh setuptools-0.6c11-py2.7.egg
exit

теперь у меня есть easy_install и easy_install-2.7 in / usr / local / bin и бывший переопределяет версию easy_install моей системы 2.6, поэтому я удалил ее:

sudo rm /usr/local/bin/easy_install

теперь я могу установить библиотеки для версии 2.7 Python следующим образом:

sudo /usr/local/bin/easy_install-2.7 numpy

для установки Python 2.7.2 используйте этот скрипт - https://github.com/bngsudheer/bangadmin/blob/master/linux/centos/6/x86_64/build-python-27.sh

Он также гарантирует, что вы получите поддержку sqlite и readline.


вы должны оставить Python 2.4 установленным на RHEL / Centos; в противном случае инструменты начнут ломаться. Вы можете сделать двойную установку, хотя; я говорю об этом здесь:

http://thebuild.com/blog/2009/10/17/wordpress-to-djangopostgresql-part-3-installing-apache-python-2-6-psycopg2-and-mod_wsgi/

сообщение о 2.6, но применяется одинаково к 2.7.


выполните следующие команды, чтобы заставить yum работать, а также python2.7

yum groupinstall -y development
yum groupinstall -y 'development tools'
yum install -y zlib-dev openssl-devel wget sqlite-devel bzip2-devel
yum -y install gcc gcc-c++ numpy python-devel scipy git boost*
yum install -y *lapack*
yum install -y gcc gcc-c++ make bison flex autoconf libtool memcached libevent libevent-devel uuidd libuuid-devel  boost boost-devel libcurl-dev libcurl curl gperf mysql-devel

cd
mkdir srk
cd srk 
wget http://www.python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz
yum install xz-libs
xz -d Python-2.7.6.tar.xz
tar -xvf Python-2.7.6.tar
cd Python-2.7.6
./configure --prefix=/usr/local
make
make altinstall



echo "export PATH="/usr/local/bin:$PATH"" >> /etc/profile
source /etc/profile
mv /usr/bin/python /usr/bin/python.bak
update-alternatives --install /usr/bin/python python /usr/bin/python2.6 1
update-alternatives --install /usr/bin/python python /usr/local/bin/python2.7 2
update-alternatives --config python
sed -i "s/python/python2.6/g" /usr/bin/yum

Отличная вещь о linux, вы все еще можете скачать источник и на большинстве систем есть все инструменты для компиляции версии самостоятельно.

чтобы получить cli python от xterm, просто набрав python, каталог python bin должен быть в вашей переменной системного пути (Red Hat пример, Suse пример)


Если вы можете жить с 2.6, EPEL имеет его для RHEL 5 в python26 пакет, хотя вам нужно будет использовать python2.6 чтобы вызвать его, так как системе все равно понадобится python быть 2.4 для запуска.


Если вам нужен инструмент pip и setup, пожалуйста, установите openssl и opessl-devl перед созданием python2.7

 yum install openssl-devel

тогда следуйте https://stackoverflow.com/a/4149444/429476

тогда https://pypi.python.org/pypi/setuptools

wget https://bootstrap.pypa.io/ez_setup.py
python2.7 ez_setup.py

затем установить pip

wget https://bootstrap.pypa.io/get-pip.py
python2.7 get-pip.py

затем установить другие пакеты pip2.7 Установите package_name


если вы хотите установить Python 2.7 на Oracle Linux, вы можете поступить следующим образом:

включить коллекцию программного обеспечения в /etc / yum.РЕПО.D / public-yum-ol6.РЕПО.

vim /etc/yum.repos.d/public-yum-ol6.repo

[public_ol6_software_collections] 
name=Software Collection Library release 1.2 packages for Oracle Linux 6 
(x86_64) 
baseurl=[http://yum.oracle.com/repo/OracleLinux/OL6/SoftwareCollections12/x86_64/][1] 
    gpgkey=file:[///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle][2] 
    gpgcheck=1 
    enabled=1 <==============change from 0 to 1

после внесения этого изменения в репозиторий yum вы можете просто запустить команду yum для установки Python:

yum install gcc libffi libffi-devel python27 python27-python-devel openssl-devel python27-MySQL-python

редактировать bash_profile с помощью следующих переменных:

vim ~/.bash_profile
PATH=$PATH:$HOME/bin:/opt/rh/python27/root/usr/bin export PATH
LD_LIBRARY_PATH=/opt/rh/python27/root/usr/lib64 export LD_LIBRARY_PATH
PKG_CONFIG_PATH=/opt/rh/python27/root/usr/lib64/pkgconfig export PKG_CONFIG_PATH

теперь вы можете использовать python2.7 и pip для установки модулей Python:

/opt/rh/python27/root/usr/bin/pip install pynacl
/opt/rh/python27/root/usr/bin/python2.7 --version

Если вы получите ошибку, когда на ./настроить этап, который говорит

configure: error: in ` / home/ / загрузки / Python-2.7.14': configure: error: нет приемлемого компилятора C, найденного в $PATH

затем попробуйте это.

нет приемлемого компилятора C, найденного в $PATH при установке python