Подтвердить что ты не робот

Установка Python 3 на RHEL

Я пытаюсь установить python3 на RHEL, выполнив следующие шаги:

yum search python3

Что вернуло No matches found for: python3

Далее следуют:

yum search python

Ни один из результатов поиска не содержал python3. Что мне делать дальше?

4b9b3361

Ответ 1

Его легко установить вручную:

  • Загрузка (могут быть более свежие релизы на 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 команде configure.

Пример: для 'установки' Python в /opt/local просто добавьте --prefix=/opt/local.

После шага make install: чтобы использовать новую установку Python, возможно, вам все равно нужно добавить префикс /bin к $PATH и [префикс]/lib в $LD_LIBRARY_PATH (в зависимости от пройденного --prefix)

Ответ 2

Установка из RPM, как правило, лучше, потому что:

  • Вы можете установить и удалить (правильно) Python3.
  • время установки намного быстрее. Если вы работаете в облачной среде с несколькими виртуальными машинами, компиляция python3 на каждой виртуальной машине недопустима.

Решение 1: репозитории Red Hat и EPEL

Red Hat добавил через репозиторий EPEL:

  • Python 3.4 для CentOS 6
  • Python 3.6 для CentOS 7

[EPEL] Как установить Python 3.4 на CentOS 6

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

Вы можете создать свой virtualenv с помощью pyvenv:

pyvenv /tmp/foo

[EPEL] Как установить Python 3.6 на CentOS 7

В CentOS7 pip3.6 предоставляется в виде пакета :)

sudo yum install -y epel-release
sudo yum install -y python36 python36-pip

Вы можете создать свой virtualenv с помощью pyvenv:

python3.6 -m venv /tmp/foo

Если вы используете скрипт pyvenv, вы получите ПРЕДУПРЕЖДЕНИЕ:

$ pyvenv-3.6 /tmp/foo
WARNING: the pyenv script is deprecated in favour of 'python3.6 -m venv'

Решение 2: Репозитории сообщества IUS

Сообщество IUS предоставляет несколько современных пакетов для RHEL & CentOS. Ребята сзади из Rackspace, так что я думаю, что они вполне заслуживают доверия...

https://ius.io/

Проверьте правильное РЕПО для вас здесь:

https://ius.io/GettingStarted/

[IUS] Как установить Python 3.6 на CentOS 6

sudo yum install -y https://centos6.iuscommunity.org/ius-release.rpm
sudo yum install -y python36u python36u-pip

Вы можете создать свой virtualenv с помощью pyvenv:

python3.6 -m venv /tmp/foo

[IUS] Как установить Python 3.6 на CentOS 7

sudo yum install -y https://centos7.iuscommunity.org/ius-release.rpm
sudo yum install -y python36u python36u-pip

Вы можете создать свой virtualenv с помощью pyvenv:

python3.6 -m venv /tmp/foo

Ответ 3

В дополнение к ответу 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

Ответ 4

Вы можете загрузить исходные RPM и бинарные RPM для RHEL6/CentOS6 из здесь

Это backport из новейшей разработки Fedora источник rpm до RHEL6/CentOS6

Ответ 5

Используйте репозитории 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, а не по умолчанию по умолчанию.)

Ответ 6

Наряду с 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

Ответ 8

Все ответы я вижу либо с просьбой скомпилировать python3 из кода, либо с установкой бинарного пакета RPM. Вот еще один ответ, чтобы включить EPEL (дополнительные пакеты для корпоративного 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

Также смотрите ссылку

Ответ 9

У меня была та же проблема с использованием Python 2.7. Выполните следующие шаги для успешного обновления до 3.6. Вы также можете попробовать это one-

  1. Смотрите перед обновлением версии 2.x

    python --version
    Python 2.7.5
    
  2. Используйте команду ниже, чтобы обновить ваш питон до 3.x version-

    ням установить python3x

    замените х на номер версии, которую вы хотите.

    т.е. для установки python 3.6 выполните

    yum install python36
    
  3. После этого, если вы хотите установить этот питон для вашей версии по умолчанию, то в файл bashrc добавьте

    vi ~/.bashrc

    alias python='python3.6'
    
  4. выполнить команду bash, чтобы применить настройки

    bash 
    
  5. Теперь вы можете увидеть версию ниже

    python --version
    Python 3.6.3
    

Ответ 10

Три шага с использованием Python 3.5 от Software Collections:

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

Это должно просто работать. Единственным исключением будет автоматически сгенерированный пользователь, такой как "jenkins" на сервере Jenkins, у которого нет оболочки. В этом случае вручную добавьте путь к $PATH в сценариях.

Наконец, если вы используете sudo pip3 для установки пакетов, но он сообщает, что pip3 не может быть найден, возможно, у вас есть secure_path в /etc/sudoers. Проверка с помощью sudo visudo должна подтвердить это. Для временного использования стандартного PATH при выполнении команд вы можете сделать, например:

sudo env "PATH=$PATH" pip3 --version

Смотрите этот вопрос для более подробной информации.

ПРИМЕЧАНИЕ: есть более новый Python 3.6 от Software Collections, но я бы не рекомендовал его сейчас, потому что у меня были большие головные боли при попытке установить Pycurl. Для Python 3.5 это не проблема, потому что я только что сделал sudo yum install sclo-python35-python-pycurl который работал из коробки.

Ответ 11

Если вы используете RHEL и хотите использовать Python с поддержкой Red Hat, используйте коллекции Red Hat Software (RHSCL). Пакеты EPEL и IUS не поддерживаются Red Hat. Также многие ответы выше указывают на коллекции программного обеспечения CentOS. Хотя вы можете установить их, они не являются пакетами, поддерживаемыми Red Hat для RHEL.

Кроме того, ответ с верхним голосом дает плохой совет: на RHEL вы не хотите менять /usr/bin/python, /usr/bin/python2 потому что вы, скорее всего, /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 на developers.redhat.com. Он охватывает установку и использование Python 3 из RHSCL, использование виртуальных сред Python и ряд советов по работе с коллекциями программного обеспечения и работе с 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.

Посмотрите вышеупомянутую статью для всего этого и намного более подробно.

Ответ 12

Если вам нужны официальные пакеты RHEL, вы можете использовать RHSCL (коллекции программного обеспечения Red Hat)

Подробнее:

У вас должен быть доступ к серверу портала Red Hat, чтобы читать полные статьи.

Ответ 13

Вот шаги, которые я выполнил для установки 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

Ответ 14

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)

Ответ 15

Для RHEL на Amazon Linux, используя python3, я должен был сделать:

sudo yum install python34-devel

Ответ 16

Полная работа 36, когда SCL недоступен (на основе ввода Joys)

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

sudo yum install python34-setuptools
sudo mkdir /usr/local/lib/python3.6
sudo mkdir /usr/local/lib/python3.6/site-packages

sudo easy_install-3.6 pip

Наконец активировать среду...

pyvenv-3.6 py3
source py3/bin/activate

Тогда python3

Ответ 17

Просто сделайте очень короткий автономный ответ, чтобы конкурировать с предложениями "установить из источника".

Пакет не называется python3, но для каждого выпуска Python3 есть один пакет.

yum install python36

вы получите Python 3.6.

Ответ 18

Вы можете установить миниконду (https://conda.io/miniconda.html). Это немного больше, чем просто Python 3.7, но установка очень проста и проста.

curl https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O
sudo yum install bzip2
bash Miniconda3-latest-Linux-x86_64.sh

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

Ответ 19

Для тех, кто работает на AWS EC2 RHEL 7.5, (используйте sudo) включите необходимые репозитории

yum-config-manager --enable rhui-REGION-rhel-server-optional
yum-config-manager --enable rhui-REGION-rhel-server-rhscl

Установите Python 3.6

yum install rh-python36

Установите другие зависимости

yum install rh-python36-numpy  rh-python36-scipy  rh-python36-python-tools  rh-python36-python-six