Я намагаюся встановити python3 на RHEL, використовуючи наступні кроки:
yum search python3
Який повернувся No matches found for: python3
Далі:
yum search python
Жоден з результатів пошуку не містив python3. Що слід спробувати далі?
Я намагаюся встановити python3 на RHEL, використовуючи наступні кроки:
yum search python3
Який повернувся No matches found for: python3
Далі:
yum search python
Жоден з результатів пошуку не містив python3. Що слід спробувати далі?
Відповіді:
Встановити його вручну легко:
Завантажити (на 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, можливо, вам доведеться все-таки додати [префікс] / бін до $PATH
і [префікс] / lib до $LD_LIBRARY_PATH
(залежно від --prefix
пройденого)
no acceptable C compiler found in $PATH when installing python
пересвідчення на http://stackoverflow.com/questions/19816275/no-acceptable-c-compiler-found-in-path-when-installing-python
./configure --with-ensurepip=install
щоб увімкнути pip3
або ви не pip3
встановите після компіляції
Встановлення з RPM, як правило, краще, оскільки:
Red Hat додав через сховище EPEL :
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
З 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`
Співтовариство IUS надає деякі сучасні пакети для RHEL & CentOS . Хлопці позаду - з Rackspace, тому я думаю, що вони досить надійні ...
Ознайомтеся з правильним репо для вас тут:
sudo yum install -y https://repo.ius.io/ius-release-el6.rpm
sudo yum install -y python36u python36u-pip
Ви можете створити свій virtualenv, використовуючи pyvenv
:
python3.6 -m venv /tmp/foo
sudo yum install -y https://repo.ius.io/ius-release-el7.rpm
sudo yum install -y python36u python36u-pip
Ви можете створити свій virtualenv, використовуючи pyvenv
:
python3.6 -m venv /tmp/foo
https://dl.iuscommunity.org/pub/ius/stable/CentOS/6/x86_64/iu<200c><200b>s-release-1.0-14.ius.centos6.noarch.rpm
Ось символ Unicode: fileformat.info/info/unicode/char/200c/index.htm URL-адреса в моїй оригінальній відповіді працює, я щойно перевірив це.
python34u-pip
.
Окрім відповіді 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
/opt
? /usr/local
спеціально існує для цієї мети, і саме там, де ./configure
явна інформація не --prefix
буде розміщена.
export PATH=$PATH:/opt/python3/bin
Поряд з Python 2.7 та 3.3, колекція програм Red Hat тепер включає Python 3.4 - усі вони працюють на RHEL 6 та 7.
Документи RHSCL 2.0 розміщені на веб-сторінці https://access.redhat.com/documentation/en-US/Red_Hat_Software_Collections/
Плюс багато статей на developerblog.redhat.com.
редагувати
# 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
scl enable rh-python34 bash
? Які наслідки використовувати це згодом?
wget https://www.softwarecollections.org/en/scls/rhscl/rh-python35/epel-6-x86_64/download/rhscl-rh-python35-epel-6-x86_64.noarch.rpm
, але його не знайшли.
Використовуйте репост 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, а не системний замовчуванням.)
scl enable python33 bash
запустити нову оболонку, яка буде включена для python 3 або scl enable python33 'python hello.py'
яка запустить ваш файл python, використовуючи python 3 у поточній оболонці
subscription-manager repos --enable rhel-7-server-optional-rpms --enable rhel-server-rhscl-7-rpms
. Тоді можна yum install rh-python36
. Див. Як встановити Python 3 на RHEL для отримання додаткової інформації.
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
Ви можете завантажити вихідні RPM та бінарні RPM для RHEL6 / CentOS6 звідси
Це підтримка від найновішого джерела розширення Fedora rpm до RHEL6 / CentOS6
createrepo
над цими довідниками зробить їх ще кориснішими для деяких людей.
baseurl
: 0bin.net/paste/…
Усі відповіді я бачу як прохання скласти 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
Також дивіться посилання
sudo yum install python34-setuptools
У мене виникли ті самі проблеми, використовуючи python 2.7. Для успішного оновлення до 3.6 виконайте наведені нижче дії. Ви також можете спробувати цей-
Дивіться перед оновленням версії 2.x
python --version
Python 2.7.5
Використовуйте команду нижче, щоб оновити python до версії 3.x-
yum встановити python3x
замініть х потрібним номером версії.
тобто для установки python 3.6 Execute
yum install python36
Після цього, якщо ви хочете встановити цей пітон для своєї версії за замовчуванням, тоді додайте у файл bashrc
vi ~ / .bashrc
alias python='python3.6'
виконати команду bash для застосування налаштувань
bash
Тепер ви можете побачити версію нижче
python --version
Python 3.6.3
rh-python36
.
Три кроки за допомогою програми Python 3.5 від колекції програмного забезпечення :
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 неможливо знайти, можливо, у вас є захищений шлях у / etc / sudoers . Перевірка за допомогою sudo visudo
має підтвердити це. Щоб тимчасово використовувати стандартний PATH під час виконання команд, ви можете:
sudo env "PATH=$PATH" pip3 --version
Дивіться це питання для більш детальної інформації.
ПРИМІТКА : Існує новіший Python 3.6 від колекцій програмного забезпечення, але наразі я не рекомендував би його, тому що у мене були головні болі при спробі встановити Pycurl. Для Python 3.5 це не проблема, тому що я щойно робив те, sudo yum install sclo-python35-python-pycurl
що вийшло з коробки.
No package centos-release-scl available.
Якщо ви перебуваєте на RHEL і хочете підтримувати Red Hat Python, використовуйте колекції Red Hat Software (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
корінь. Це буде перезаписано /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 Collection:
$ 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.
Про все це дивіться у вищенаведеній статті та ще багато деталей.
Якщо ви хочете отримати офіційні пакети RHEL, ви можете використовувати RHSCL (колекції програм Red Hat)
Детальніше:
Ви повинні мати доступ до Порталу клієнтів Red Hat, щоб прочитати всі статті.
Ось такі кроки, які я виконував, щоб встановити 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
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
No package python34-devel available.
Повна робоча 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
Ви можете встановити miniconda ( 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
Вам доведеться прийняти ліцензійну угоду та вибрати деякі параметри в інтерактивному режимі (прийняти за замовчуванням). Я вірю, що це можна також якось безшумно встановити.
python
команду, вона загорнута?
Для тих, хто працює на AWS EC2 RHEL 7.5, ( використовуйте судо ), увімкніть необхідні репозиції
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