web-dev-qa-db-ja.com

AWS EC2インスタンスにPython 3をインストールするにはどうすればよいですか?

AWS EC2インスタンスにpython 3.xをインストールしようとしています。

Sudo yum install python3

動作しません:

No package python3 available.

私は周りをグーグルで調べましたが、この問題を抱えている人を見つけることができませんので、ここで尋ねています。手動でダウンロードしてインストールする必要がありますか?

100
Jake_Howard

あなたがするなら

Sudo yum list | grep python3

「python3」パッケージはありませんが、「python34」パッケージ、または「python36」などの最新リリースがあります。それをインストールするのは簡単です:

Sudo yum install python34
176
TaborKelly

注:これは、2018年後半以降の現在のバージョンのAmazon Linux 2では廃止されている可能性があり(コメントを参照)、yum install python3を介して直接インストールできるようになりました。

Amazon Linux2では、デフォルトのyumリポジトリにpython3[4-6]はありませんが、代わりに Amazon Extras Library があります。

Sudo Amazon-linux-extras install python3

分離された仮想環境をセットアップする場合; yum install 'd virtualenvツールを使用しても、確実に機能しないようです。

virtualenv --python=python3 my_venv

Venvモジュール/ツールの呼び出しはそれほど面倒ではなく、事前にpython3 --versionを使用して、それが望んでいる/期待していることを再確認できます。

python3 -m venv my_venv

それがインストールできる他のもの(18年1月18日のバージョン):

[[email protected] ~]$ Amazon-linux-extras list
  0  ansible2   disabled  [ =2.4.2 ]
  1  emacs   disabled  [ =25.3 ]
  2  memcached1.5   disabled  [ =1.5.1 ]
  3  nginx1.12   disabled  [ =1.12.2 ]
  4  postgresql9.6   disabled  [ =9.6.6 ]
  5  python3=latest  enabled  [ =3.6.2 ]
  6  redis4.0   disabled  [ =4.0.5 ]
  7  R3.4   disabled  [ =3.4.3 ]
  8  Rust1   disabled  [ =1.22.1 ]
  9  vim   disabled  [ =8.0 ]
 10  golang1.9   disabled  [ =1.9.2 ]
 11  Ruby2.4   disabled  [ =2.4.2 ]
 12  nano   disabled  [ =2.9.1 ]
 13  php7.2   disabled  [ =7.2.0 ]
 14  lamp-mariadb10.2-php7.2   disabled  [ =10.2.10_7.2.0 ]
46
Nick T

以下は、python3を簡単にインストールするために使用した手順です。 EDIT: yumパッケージマネージャーを使用する方がほぼ確実に簡単です(他の回答を参照)。

これを行う前に、おそらくSudo yum groupinstall 'Development Tools'を実行する必要があることに注意してください。そうしないと、pipはインストールされません。

wget https://www.python.org/ftp/python/3.4.2/Python-3.4.2.tgz
tar zxvf Python-3.4.2.tgz
cd Python-3.4.2
Sudo yum install gcc
./configure --prefix=/opt/python3
make
Sudo yum install openssl-devel
Sudo make install
Sudo ln -s /opt/python3/bin/python3 /usr/bin/python3
python3 (should start the interpreter if it's worked (quit() to exit)
34
Jake_Howard

EC2(Amazon Linux AMI上)は現在、python3.4とpython3.5をサポートしています。

Sudo yum install python35
Sudo yum install python35-pip
23
Russ McFatter

Amazon Linuxバージョン2017.09からpython 3.6が利用可能になりました:

Sudo yum install python36 python36-virtualenv python36-pip

詳細およびその他のパッケージについては、 リリースノート を参照してください

18
Realistic

Amazon Linuxはpython36をサポートするようになりました。

python36-pipは使用できません。したがって、別のルートに従う必要があります。

Sudo yum install python36 python36-devel python36-libs python36-tools

# If you like to have pip3.6:
curl -O https://bootstrap.pypa.io/get-pip.py
Sudo python3 get-pip.py
2
Sairam Krish

@NickTが言ったように、Amazon Linuxのデフォルトのyumリポジトリにpython3 [4-6]はありません2、今日では3.7を使用しており、ここですべての回答を見ると、変更されると言うことができます時間。

Amazon Linux 2でpython3.6を探していましたが、Amazon-linux-extrasには多くのオプションが表示されますが、pythonはまったく表示されません。実際、epelリポジトリで既知のバージョンを見つけることができます。

Sudo Amazon-linux-extras install epel

yum search python | grep "^python3..x8"

python34.x86_64 : Version 3 of the Python programming language aka Python 3000
python36.x86_64 : Interpreter of the Python programming language
2
Putnik

この質問に対してすでに利用可能なすべての回答に加えて、CentOS 7を実行しているAWS EC2インスタンスにPython3をインストールするために行った手順を追加したいと思います。詳細はこのリンクで確認できます。

https://aws-labs.com/install-python-3-centos-7-2/

まず、SCLを有効にする必要があります。 SCLは、システムのデフォルトパッケージに影響を与えることなく、同じシステム上で複数のバージョンのソフトウェアをビルド、インストール、使用できるコミュニティプロジェクトです。

Sudo yum install centos-release-scl

SCLリポジトリができたので、python3をインストールできます

Sudo yum install rh-python36

Python 3.6にアクセスするには、Software Collection sclツールを使用して新しいシェルインスタンスを起動する必要があります。

scl enable rh-python36 bash

Pythonバージョンを確認すると、Python 3.6がデフォルトバージョンであることがわかります。

python --version

このシェルセッションでのみPython 3.6がデフォルトのPythonバージョンであることに注意することが重要です。セッションを終了するか、別の端末から新しいセッションを開くと、Python 2.7がデフォルトのPythonバージョンになります。

次のように入力して、python開発ツールをインストールします。

Sudo yum groupinstall ‘Development Tools’

ここで、デフォルトのpythonパッケージが混乱しないように仮想環境を作成します。

mkdir ~/my_new_project
cd ~/my_new_project
python -m venv my_project_venv

この仮想環境を使用するには、

source my_project_venv/bin/activate

これで、python3を使用して仮想環境をセットアップできました。

1