Установка Python 3 на RHEL
16 ответов
легко установить его вручную:
-
скачать (могут быть более новые версии на Python.org):
$ wget https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tar.xz
-
распакуйте
$ tar xf Python-3.* $ cd Python-3.*
-
подготовить подборку
$ ./configure
-
построить
$ make
-
установить
$ make install
или если вы не хотите перезаписывать
python
исполняемый файл (безопаснее, по крайней мере, на некоторые дистрибутивыyum
долженpython
быть 2.x, например, для RHEL6) - вы можете установитьpython3.*
в качестве параллельного экземпляра к системному умолчанию сaltinstall
:$ make altinstall
теперь, если вы хотите альтернативный каталог установки, вы можете пройти --prefix
до .
пример: для "установки" Python в /opt / local просто добавьте --prefix=/opt/local
.
после make install
шаг: чтобы использовать вашу новую установку Python, она может будьте, что вы все еще должны добавить [префикс] / bin в $PATH
и [префикс]/lib в $LD_LIBRARY_PATH
(в зависимости от --prefix
вы прошли)
установка с RPM, как правило, лучше, потому что:
- вы можете установить и удалить (правильно) python3.
- the время установки намного быстрее. Если вы работаете в облачной среде с несколькими виртуальными машинами, компиляция python3 на каждой виртуальной машине неприемлема.
Решение 1: репозитории Red Hat & EPEL
Red Hat добавил Python 3.4 для CentOS 6 и 7 через EPEL репозитория.
к сожалению:
-
pip3
не входит в комплект RPM. Вам нужно установить вручную (см. ниже). -
pyvenv
прослушивается и не работает. Вам нужно использоватьvirtualenv
.
[EPEL] Как установить Python 3.4 на CentOS 6 & 7
sudo yum install -y epel-release
sudo yum install -y python34
# Install pip3
sudo yum install -y python34-setuptools # install easy_install-3.4
sudo easy_install-3.4 pip
# I guess you would like to install virtualenv or virtualenvwrapper
sudo pip3 install virtualenv
sudo pip3 install virtualenvwrapper
если вы хотите использовать pyvenv
, вы можете сделать следующее, Чтобы установить pip3
в вашей виртуальное окружение:
pyvenv --without-pip my_env
curl https://bootstrap.pypa.io/get-pip.py | my_env/bin/python
но если вы хотите иметь его из коробки, вы можете добавить эту функцию bash (псевдоним) в своем .bashrc
:
pyvenv() { /usr/bin/pyvenv --without-pip $@; for env in $@; do curl https://bootstrap.pypa.io/get-pip.py | "$env/bin/python"; done; }
решение 2: репозитории сообщества IUS
сообщество IUS предоставляет некоторые до-до-дата-пакеты для RHEL & CentOS в. Ребята позади из Rackspace, поэтому я думаю, что они вполне заслуживают доверия...
регистрация права РЕПО ты здесь:
https://ius.io/GettingStarted/
[IUS] Как установить Python 3.5 на CentOS 6
sudo yum install -y https://centos6.iuscommunity.org/ius-release.rpm
sudo yum install -y python35u python35u-pip
# I guess you would like to install virtualenv or virtualenvwrapper
sudo pip3.5 install virtualenv
sudo pip3.5 install virtualenvwrapper
Примечание:pyvenv-3.5
доступен из коробки, Если вы не хотите использовать virtualenv
.
[IUS] Как установить Python 3.5 на CentOS 7
sudo yum install -y https://centos7.iuscommunity.org/ius-release.rpm
sudo yum install -y python35u python35u-pip
# I guess you would like to install virtualenv or virtualenvwrapper
sudo pip3.5 install virtualenv
sudo pip3.5 install virtualenvwrapper
Примечание:pyvenv-3.5
доступен из коробки, Если вы не хотите использовать virtualenv
.
В дополнение к ответу geccoбыл, я бы изменить Шаг 3 из:
./configure
в:
./configure --prefix=/opt/python3
затем после установки вы также можете:
# ln -s /opt/python3/bin/python3 /usr/bin/python3
это должно гарантировать, что установка не будет конфликтовать с python, установленным с yum.
посмотреть объяснение, которое я нашел в Интернете:
http://www.hosting.com/support/linux/installing-python-3-on-centosredhat-5x-from-source
используйте репозитории SCL.
sudo sh -c 'wget -qO- http://people.redhat.com/bkabrda/scl_python33.repo >> /etc/yum.repos.d/scl.repo'
sudo yum install python33
scl enable python27
(эта последняя команда должна выполняться каждый раз, когда вы хотите использовать python27, а не системное значение по умолчанию.)
вы можете скачать исходные RPMs и двоичные RPMs для RHEL6 / CentOS6 из здесь
Это backport из новейшей разработки Fedora RPM источника к RHEL6 / CentOS6
наряду с Python 2.7 и 3.3, Red Hat Software Collections теперь включает Python 3.4-все работы над RHEL 6 и 7.
документы RHSCL 2.0 находятся вhttps://access.redhat.com/documentation/en-US/Red_Hat_Software_Collections/
плюс много статей на developerblog.redhat.com.
редактировать
выполните следующие - инструкции чтобы установить Python 3.4 на RHEL 6/7 или CentOS 6/7:
# 1. Install the Software Collections tools:
yum install scl-utils
# 2. Download a package with repository for your system.
# (See the Yum Repositories on external link. For RHEL/CentOS 6:)
wget https://www.softwarecollections.org/en/scls/rhscl/rh-python34/epel-6-x86_64/download/rhscl-rh-python34-epel-6-x86_64.noarch.rpm
# or for RHEL/CentOS 7
wget https://www.softwarecollections.org/en/scls/rhscl/rh-python34/epel-7-x86_64/download/rhscl-rh-python34-epel-7-x86_64.noarch.rpm
# 3. Install the repo package (on RHEL you will need to enable optional channel first):
yum install rhscl-rh-python34-*.noarch.rpm
# 4. Install the collection:
yum install rh-python34
# 5. Start using software collections:
scl enable rh-python34 bash
Python3 недавно был добавлен в EPEL7 как Python34.
продолжаются (В настоящее время) усилия по разработке руководящих принципов упаковки о том, как упаковать вещи для Python3 в EPEL7.
см.https://bugzilla.redhat.com/show_bug.cgi?id=1219411
и https://lists.fedoraproject.org/pipermail/python-devel/2015-July/000721.html
у меня была такая же проблема с использованием python 2.7. Для успешного обновления до версии 3.6 выполните следующие действия. Вы также можете попробовать этот -
-
см. перед обновлением версии 2.x
python --version Python 2.7.5
-
используйте команду ниже, чтобы обновить python до 3.X версии-
yum установить python3x
заменить x с номером версии, которую вы хотите.
т. е. для установки python 3.6 выполнить
yum install python36
-
после этого, если вы хотите установить этот python для своей версии по умолчанию, то в bashrc и добавить
vi ~/.bashrc и
alias python='python3.6'
-
выполнить команду bash, чтобы применить настройки
bash
-
теперь вы можете увидеть версию ниже
python --version Python 3.6.3
Если вы хотите официальные пакеты RHEL, вы можете использовать RHSCL (Red Hat Software Collections)
Подробнее:
- руководство по Python 3.3 В RHSCL 1.1
- как получить доступ и загрузить Red Hat Software Collections (RHSCL) и/или Red Hat Developer Toolset (DTS)?
У вас должен быть доступ к порталу Red Hat Customer, чтобы читать полные статьи.
вот шаги, которые я выполнил для установки Python3:
yum install wget
wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz
sudo tar xvf Python-3.*
cd Python-3.*
sudo ./configure --prefix=/opt/python3
sudo make
sudo make install
sudo ln -s /opt/python3/bin/python3 /usr/bin/python3
$ /usr/bin/python3
Python 3.6.0
просто сделать очень краткий автономный ответ, чтобы конкурировать с предложениями" установить из источника".
пакет не называется python3
но есть один пакет для каждого выпуска Python3.
yum install python36
вы получите Python 3.6.
три шага с использованием Python 3.5 by Коллекции Программного Обеспечения:
sudo yum install centos-release-scl
sudo yum install rh-python35
scl enable rh-python35 bash
обратите внимание, что sudo не нужен для последней команды. Теперь мы видим, что python 3 является значением по умолчанию для текущей оболочки:
python --version
Python 3.5.1
просто пропустите последнюю команду, если вы предпочитаете Python 2 по умолчанию для текущей оболочки.
теперь предположим, что ваши скрипты Python 3 дают вам ошибку, например /usr/bin/env: python3: No such file or directory
. Это потому, что установка обычно выполняется к необычному пути:
/opt/rh/rh-python35/root/bin/python3
выше обычно будет символической ссылкой. Если вы хотите python3
для автоматического добавления в $PATH
для всех пользователей при запуске один из способов сделать это-добавить файл, например:
sudo vim /etc/profile.d/rh-python35.sh
что бы что-то вроде:
#!/bin/bash
PATH=$PATH:/opt/rh/rh-python35/root/bin/
и теперь после перезагрузки, если мы делаем
python3 --version
это должно просто работать. Одним исключением будет автоматически сгенерированный пользователь, такой как" Дженкинс " на сервере Дженкинса, который не имеет ракушка. В этом случае вручную добавьте путь к $PATH
в скриптах был бы один из способов пойти.
наконец, если вы используете sudo pip3
для установки пакетов, но он говорит вам, что pip3 не может быть найден, может быть, у вас есть secure_path на /и т. д./пользователям использовать sudo?. Сверяюсь с sudo visudo
должен подтвердить это. Временно использовать стандарт путь при выполнении команды вы можете сделать, для пример:
sudo env "PATH=$PATH" pip3 --version
посмотреть этой вопрос для получения более подробной информации.
Примечание: есть более новый Python 3.6 по коллекциям программного обеспечения, но я бы не рекомендовал его в это время, потому что у меня были серьезные головные боли при попытке установить Pycurl. Для Python 3.5 это не проблема, потому что я только что сделал sudo yum install sclo-python35-python-pycurl
, который работал из коробки.
если вы находитесь на RHEL и хотите, чтобы Red Hat поддерживал Python, используйте Red Hat Software collections (RHSCL). Пакеты EPEL и IUS не поддерживаются Red Hat. Также многие из ответов выше указывают на коллекции программного обеспечения CentOS. Хотя вы можете установить их, они не являются поддерживаемыми пакетами Red Hat для RHEL.
кроме того, топ проголосовал ответ дает плохой совет-на RHEL вы не хотите менять /usr/bin/python
, /usr/bin/python2
потому что вы, вероятно, сломать yum
и другие RHEL инструменты администратора. Взгляните на /bin/yum
, это скрипт Python, который начинается с #!/usr/bin/python
. Если вы компилируете Python из исходного кода, не делайте make install
как root. Это перепишет /usr/bin/python
. Если вы сломаете yum
это может быть трудно восстановить систему.
дополнительная информация:Как установить Python 3, pip, venv, virtualenv и pipenv на RHEL on developers.redhat.com. Он охватывает установку и использование Python 3 из RHSCL, используя Python Virtual Среды и ряд советов по работе с коллекциями программного обеспечения и работе с Python на RHEL.
в двух словах, чтобы установить Python 3.6 через Red Hat Software Collections:
$ su -
# subscription-manager repos --enable rhel-7-server-optional-rpms \
--enable rhel-server-rhscl-7-rpms
# yum -y install @development
# yum -y install rh-python36
# yum -y install rh-python36-numpy \
rh-python36-scipy \
rh-python36-python-tools \
rh-python36-python-six
использовать набор программного обеспечения, вы должны включить его:
scl enable rh-python36 bash
однако, если вы хотите, чтобы Python 3 был постоянно включен, вы можете добавить следующее в свой ~/.bashrc и затем выйдите и снова. Сейчас на Python 3 постоянно в путь.
# Add RHSCL Python 3 to my login environment
source scl_source enable rh-python36
Примечание: как только вы это сделаете, введите python
теперь дает вам Python 3.6 вместо Python 2.7.
см. вышеуказанную статью для всего этого и намного более подробно.
yum install python34.x86_64
работает, если у вас есть epel-release
установлено, что ответ объясняет, как, и я подтвердил, что он работал на RHEL 7.3
$ cat /etc/*-release
NAME="Red Hat Enterprise Linux Server"
VERSION="7.3 (Maipo)
$ type python3
python3 is hashed (/usr/bin/python3)
для RHEL на Amazon Linux, используя python3, я должен был сделать:
sudo yum установить python34-devel
Я вижу, что все ответы либо просят скомпилировать python3 из кода, либо устанавливают бинарный пакет RPM. Вот еще один ответ, чтобы включить EPEL (дополнительные пакеты для Enterprise Linux), а затем установить python с помощью yum. Шаги для RHEL 7.5 (Maipo)
yum install wget –y
wget https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
rpm –ivh epel-*.rpm
yum install python36
см. Также ссылке