web-dev-qa-db-ja.com

RHELにPython 3をインストールする

次の手順を使用して、RHELにpython3をインストールしようとしています。

yum search python3

No matches found for: python3を返しました

に続く:

yum search python

Python3を含む検索結果はありませんでした。次に何を試すべきですか?

106

手動で簡単にインストールできます。

  1. ダウンロード( Python.org の新しいリリースがあるかもしれません):

    $ wget https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tar.xz
    
  2. Unzip

    $ tar xf Python-3.* 
    $ cd Python-3.*
    
  3. コンパイルを準備する

    $ ./configure
    
  4. 構築する

    $ make
    
  5. インストール

    $ make install
    

    または、python実行可能ファイルを上書きしたくない場合(少なくとも、いくつかのディストリビューションではyumはRHEL6のようにpythonを2.xにする必要があります)-altinstallを使用してpython3.*を同時インスタンスとしてシステムデフォルトにインストールできます:

    $ make altinstall
    

別のインストールディレクトリが必要な場合は、--prefixconfigurecommandに渡すことができます。

例:/ opt/localの「インストール」Pythonの場合は、--prefix=/opt/localを追加するだけです。

make installステップの後:新しいPythonインストールを使用するには、[_ prefix]/binを$PATHに、[prefix]/libを$LD_LIBRARY_PATHに追加する必要があります(依存する場合があります)渡した--prefixの)

161
gecco

一般に、RPMからのインストールの方が優れています。

  • ninstall(適切に)python3をインストールできます。
  • インストール時間はずっと速い。複数のVMがあるクラウド環境で作業している場合、各VMでpython3をコンパイルすることは受け入れられません。

解決策1:Red HatおよびEPELリポジトリ

Red HatはEPELリポジトリを介して追加しました:

  • CentOS 6用Python 3.4
  • CentOS 7用Python 3.6

[EPEL] CentOS 6にPython 3.4をインストールする方法

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

pyvenvを使用してvirtualenvを作成できます。

pyvenv /tmp/foo

[EPEL] CentOS 7にPython 3.6をインストールする方法

CentOS7では、pip3.6がパッケージとして提供されます:)

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

pyvenvを使用してvirtualenvを作成できます。

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] CentOS 6にPython 3.6をインストールする方法

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

pyvenvを使用してvirtualenvを作成できます。

python3.6 -m venv /tmp/foo

[IUS] CentOS 7にPython 3.6をインストールする方法

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

pyvenvを使用してvirtualenvを作成できます。

python3.6 -m venv /tmp/foo
214
Samuel Phan

Geccoの答えに加えて、ステップ3を以下から変更します。

./configure

に:

./configure --prefix=/opt/python3

次に、インストール後に次のこともできます。

# ln -s /opt/python3/bin/python3 /usr/bin/python3

これは、yumでインストールされたpythonとインストールが競合しないようにするためです。

インターネットで見つけた説明を参照してください。

http://www.hosting.com/support/linux/installing-python-3-on-centosredhat-5x-from-source

30
rsc

here からRHEL6/CentOS6のソースRPMとバイナリRPMをダウンロードできます。

これは、最新のFedora開発ソースrpmからRHEL6/CentOS6へのバックポートです

9

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を使用するたびに実行する必要があります。)

9
Paul Draper

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の多くの記事。

編集

これらの 指示 に従って、RHEL 6/7またはCentOS 6/7にPython 3.4をインストールします。

# 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
9
Mike Guerette

Python3は最近、Python34としてEPEL7に追加されました。

EPEL7でPython3のパッケージを作成する方法に関するパッケージガイドラインを作成するための継続的な(現在の)取り組みがあります。

https://bugzilla.redhat.com/show_bug.cgi?id=1219411 を参照してください
and https://lists.fedoraproject.org/pipermail/python-devel/2015-July/000721.html

8
rkuska

すべての答えは、コードからpython3をコンパイルするか、バイナリRPMパッケージをインストールするかのいずれかです。 EPEL(Enterprise Linux用の追加パッケージ)を有効にして、yumを使用してpythonをインストールする別の回答を次に示します。 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

link も参照してください

6
Jay Rajput

python 2.7を使用して同じ問題が発生していました。以下の手順に従って、3.6に正常にアップグレードします。これも試してみてください

  1. バージョンをアップグレードする前に参照してください2.x

    python --version
    Python 2.7.5
    
  2. 以下のコマンドを使用して、pythonを3.xバージョンにアップグレードします-

    yum install python3x

    xを必要なバージョン番号に置き換えます。

    つまり、python 3.6をインストールするために実行します

    yum install python36
    
  3. その後、このpythonをデフォルトバージョンに設定する場合は、bashrc file add

    vi〜/ .bashrc

    alias python='python3.6'
    
  4. bashコマンドを実行して設定を適用します

    bash 
    
  5. 今、あなたは以下のバージョンを見ることができます

    python --version
    Python 3.6.3
    
5
IRSHAD

RHELを使用していて、Red HatでサポートされているPythonが必要な場合は、Red Hat Softwareコレクション(RHSCL)を使用します。 EPELおよびIUSパッケージは、Red Hatではサポートされていません。また、上記の回答の多くは、CentOSソフトウェアコレクションを指しています。これらはインストールできますが、RHEL用のRed Hatがサポートするパッケージではありません。

また、トップ投票の回答は悪いアドバイスを与えます-RHELでは、yumおよび他のRHEL管理ツールが壊れる可能性があるため、/usr/bin/python/usr/bin/python2を変更する必要はありません。 /bin/yumを見てください。これは#!/usr/bin/pythonで始まるPythonスクリプトです。ソースからPythonをコンパイルする場合、ルートとしてmake installを実行しないでください。それは/usr/bin/pythonを上書きします。 yumを壊すと、システムを復元するのが難しくなります。

詳細については、 RHELでPython 3、pip、venv、virtualenv、およびpipenvをインストールする方法 on developers.redhat.com を参照してください。 RHSCLからのPython 3のインストールと使用、Python仮想環境の使用、RHELでのソフトウェアコレクションの操作とPythonの操作に関するいくつかのヒントを説明します。

一言で言えば、Red Hat Software Collections経由でPython 3.6をインストールするには:

$ 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 2.7ではなくPython 3.6になります。

このすべておよび詳細については、上記の記事を参照してください。

4
Rob T.

Software Collections によるPython 3.5を使用した3つのステップ:

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に自動的に追加する場合、これを行う1つの方法は、次のようなファイルを追加することです。

Sudo vim /etc/profile.d/rh-python35.sh

次のようになります:

#!/bin/bash

PATH=$PATH:/opt/rh/rh-python35/root/bin/

そして今、再起動後、私たちが行う場合

python3 --version

うまくいくはずです。 1つの例外は、シェルを持たないJenkinsサーバーで「jenkins」のような自動生成されたユーザーです。その場合、スクリプトで手動でパスを$PATHに追加するのが1つの方法です。

最後に、パッケージをインストールするためにSudo pip3を使用しているが、pip3が見つからない場合、secure_path/ etc/sudoersSudo visudoで確認すると、それが確認されます。実行できるコマンドを実行するときに一時的に標準PATHを使用するには、次のようにします。

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

詳細については、 this questionを参照してください。

NOTE:Software Collectionsには新しいPython 3.6がありますが、現時点ではお勧めしません。 Pycurlをインストールしようとして、大きな頭痛がしました。 Python 3.5の場合、問題なく動作するのはSudo yum install sclo-python35-python-pycurlでした。

4
Nagev

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
3
Aty

公式のRHELパッケージが必要な場合は、RHSCL(Red Hat Software Collections)を使用できます

詳細:

記事全文を読むには、Red Hatカスタマーポータルにアクセスする必要があります。

3
daneel

Amazon Linux上のRHELの場合、python3を使用しなければなりませんでした:

Sudo yum install python34-devel

1

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)
1
amphibient

SCLが利用できない場合の完全な動作36(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

1
OSP

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

ライセンス契約に同意し、インタラクティブモードでいくつかのオプションを選択する必要があります(デフォルトを受け入れます)。なんとなく静かにインストールできると思います。

0
grabantot

AWS EC2 RHEL 7.5で作業している場合、(se 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
0
Vasu