Bagaimana cara menginstal Python 3 pada instans AWS EC2?

124

Saya mencoba menginstal python 3.x pada instans AWS EC2 dan:

sudo yum install python3

tidak bekerja:

No package python3 available.

Saya telah mencari-cari di Google dan tidak dapat menemukan orang lain yang memiliki masalah ini, jadi saya bertanya di sini. Apakah saya harus mengunduh dan menginstalnya secara manual?

Jake_Howard
sumber
1
Mungkin ya, ini mungkin belum tersedia untuk Amazon Linux (atau klarifikasi jika Anda menggunakan OS yang berbeda).
Simeon Visser
kemungkinan duplikat dari Menginstal python3 di RHEL
BMW
Hai, ya, ini adalah OS Amazon Linux 'standar'. Senang menginstal secara manual tetapi ada beberapa hal yang hilang (dan saya pikir yang terbaik adalah memeriksa sebelum menghabiskan waktu untuk mengotak-atik :)
Jake_Howard
@BMW jawaban yang Anda tautkan sangat membantu tetapi tidak cukup untuk membuatnya berfungsi sendiri.
Jake_Howard
Karena di bawah AMI sering berubah, mungkin berguna untuk memeriksa catatan rilis untuk mesin terbaru, tersedia di sini: aws.amazon.com/amazon-linux-ami/#Release_Notes
cair

Jawaban:

240

Jika Anda melakukan

sudo yum list | grep python3

Anda akan melihat bahwa meskipun mereka tidak memiliki paket "python3", mereka memiliki paket "python34", atau rilis yang lebih baru, seperti "python36". Menginstalnya semudah:

sudo yum install python34 python34-pip
TaborKelly
sumber
1
Sepertinya ini adalah jawaban yang lebih sederhana. Apakah AWS memperbarui paket mereka antara saat @Jake_Howard memposting jawaban dan Anda melakukannya?
Roman
7
Untuk menggunakan pip3, tambahkan tautan simbolik berikut # ln -s /usr/bin/pip-3.4 / usr / bin / pip3
Ray Vahey
10
sudo yum install python34tidak bekerja untuk saya. DikatakanNo package python34 available.
Sohan Shirodkar
2
@SohanShirodkar Anda mungkin beruntung dan hanya menangkap rilis baru - rilis September mereka pindah ke python35... di sinilah Anda bisa melihat rilis terbaru: aws.amazon.com/amazon-linux-ami/#Release_Notes
cair
5
Pada 2018, sudo yum install python36juga tersedia. juga jangan lupa untuk menginstal pip terbaru: python3 -m pip install --user --upgrade pipdan kemudian Anda dapat menginstal python3 -m pip install --user virtualenvenv virtual. ref: packaging.python.org/guides/installing-using-pip-and-virtualenv
Emmanuel NK
54

Catatan: Ini mungkin sudah usang untuk versi Amazon Linux 2 saat ini sejak akhir 2018 (lihat komentar), Anda sekarang dapat langsung menginstalnya melalui yum install python3.

Di Amazon Linux 2 , tidak ada python3[4-6]di repo yum default, sebagai gantinya ada Perpustakaan Amazon Extras .

sudo amazon-linux-extras install python3

Jika Anda ingin mengatur lingkungan virtual yang terisolasi dengannya; menggunakan yum install'd virtualenvalat tampaknya tidak bekerja andal.

virtualenv --python=python3 my_venv

Memanggil modul / alat venv tidak terlalu rumit, dan Anda dapat memeriksa ulang apa yang Anda inginkan / harapkan python3 --versionsebelumnya.

python3 -m venv my_venv

Hal lain yang dapat diinstal (versi mulai 18 Jan 18):

[ec2-user@x ~]$ 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 ]
Nick T.
sumber
"Topic python3 memiliki tanggal berakhirnya dukungan pada 2018-08-22" ini tidak lagi didukung
zenbeni
@zenbeni apakah sistem default Python bertemu dengan Python 3?
Nick T
@NickT python3-3.7.2-4.amzn2.0.1.x86_64 sebenarnya diinstal melalui 'yum install python3' Anda tidak lagi menggunakan tambahan linux amazon untuk python
zenbeni
Saya agak bingung mengapa ini terus mendapatkan suara positif (4 dalam sebulan terakhir) jika sekarang sudah usang.
Nick T
40

Berikut adalah langkah-langkah yang saya gunakan untuk menginstal python3 secara manual untuk siapa pun yang ingin melakukannya karena tidak super mudah. EDIT: Hampir pasti lebih mudah menggunakan pengelola paket yum (lihat jawaban lain).

Catatan, Anda mungkin ingin melakukannya sudo yum groupinstall 'Development Tools'sebelum melakukan ini, jika tidak pip tidak akan diinstal.

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)
Jake_Howard
sumber
8
Untuk menggunakan pip3juga menghubungkannya dengan sudo ln -s /opt/python3/bin/pip3 /usr/bin/pip3.
golmschenk
@xpmatteo - bit mana yang salah? Apakah itu hanya langkah atau pendekatan yang Anda tolak?
Jake_Howard
@Jake_Howard Tidak benar bahwa satu-satunya cara adalah menginstal Python3 secara manual. Itu tentu saja merupakan pilihan, tetapi Anda juga dapat melakukan yum install python35seperti yang disebutkan orang lain. Jika Anda
berkenan
@xpmatteo - mengulang jawaban untuk menghapus frase yang salah. Untuk anak cucu: pada saat mengajukan pertanyaan dan memposting jawaban asli, saya tidak mengetahui kemampuan untuk menggunakan yum dengan versi tertentu python3 (lihat jawaban lain), atau paket ini tidak tersedia pada saat tulisan asli.
Jake_Howard
Bekerja untuk saya! Saat ini Anda dapat menggunakan 3.7.2 sebagai ganti 3.4.2
Al Po
24

EC2 (di Amazon Linux AMI) saat ini mendukung python3.4 dan python3.5.

sudo yum install python35
sudo yum install python35-pip
Russ McFatter
sumber
Alat peraga untuk jawaban ini! Python3 tidak ada python3di instans AWS secara default. Sangat menyebalkan untuk bertukar antara Ubuntu dan AWS Linux saat bekerja!
Adam Link
20

Mulai Amazon Linux versi 2017.09 python 3.6 sekarang tersedia:

sudo yum install python36 python36-virtualenv python36-pip

Lihat Catatan Rilis untuk info lebih lanjut dan paket lainnya

Realistis
sumber
12
pip3 tidak ditautkan, jadi jika Anda ingin menggunakannya, sudo ln -s /usr/bin/pip-3.6 / usr / bin / pip3
ski_squaw
4

Amazon Linux sekarang mendukung python36.

python36-pip tidak tersedia. Jadi perlu mengikuti rute yang berbeda.

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
Sairam Krish
sumber
Ini adalah cara termudah yang berhasil di tahun 2020 dari yang lainnya.
russellthehippo
4

Seperti yang dikatakan @NickT, tidak ada python3 [4-6] di repo yum default di Amazon Linux 2 , mulai hari ini menggunakan 3,7 dan melihat semua jawaban di sini, kami dapat mengatakan itu akan berubah seiring waktu.

Saya mencari python3.6 di Amazon Linux 2 tetapi amazon-linux-extrasmenunjukkan banyak opsi tetapi tidak ada python sama sekali. sebenarnya, Anda dapat mencoba menemukan versi yang Anda ketahui dalam epelrepo:

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
Putnik
sumber
Sayangnya satu-satunya versi yang ditampilkannya lagi sekarang adalah python34.x86_64, mereka pasti sudah menghapus python36.x86_64 yang cukup mengganggu.
dragon788
1

Menambahkan ke semua jawaban yang sudah tersedia untuk pertanyaan ini, saya ingin menambahkan langkah-langkah yang saya ikuti untuk menginstal Python3 di AWS EC2 instans yang menjalankan CentOS 7. Anda dapat menemukan detail selengkapnya di tautan ini.

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

Pertama, kita perlu mengaktifkan SCL. SCL adalah proyek komunitas yang memungkinkan Anda untuk membangun, menginstal, dan menggunakan beberapa versi perangkat lunak pada sistem yang sama, tanpa memengaruhi paket default sistem.

sudo yum install centos-release-scl

Sekarang kita memiliki repositori SCL, kita dapat menginstal python3

sudo yum install rh-python36

Untuk mengakses Python 3.6 Anda perlu meluncurkan instance shell baru menggunakan alat scl Software Collection:

scl enable rh-python36 bash

Jika Anda memeriksa versi Python sekarang Anda akan melihat bahwa Python 3.6 adalah versi default

python --version

Penting untuk diketahui bahwa Python 3.6 adalah versi Python default hanya dalam sesi shell ini. Jika Anda keluar dari sesi atau membuka sesi baru dari terminal lain, Python 2.7 akan menjadi versi Python default.

Sekarang, Instal alat pengembangan python dengan mengetik:

sudo yum groupinstall Development Tools

Sekarang buat lingkungan virtual agar paket python default tidak kacau.

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

Untuk menggunakan lingkungan virtual ini,

source my_project_venv/bin/activate

Sekarang, lingkungan virtual Anda sudah diatur dengan python3.

nambastha
sumber
0

Pada turunan Debian seperti Ubuntu, gunakan apt. Periksa repositori apt untuk versi Python yang tersedia untuk Anda. Kemudian, jalankan perintah yang mirip dengan berikut ini, dengan mengganti nama paket yang benar:

sudo apt-get install python3

Pada Red Hat dan turunannya, gunakan yum. Periksa repositori yum untuk versi Python yang tersedia untuk Anda. Kemudian, jalankan perintah yang mirip dengan berikut ini, dengan mengganti nama paket yang benar:

sudo yum install python36

Pada SUSE dan turunannya, gunakan zypper. Periksa repositori untuk versi Python yang tersedia untuk Anda. Kemudian. jalankan perintah yang mirip dengan berikut ini, dengan mengganti nama paket yang benar:

sudo zypper install python3
Pembawa cahaya
sumber
-1

Berikut adalah satu perintah untuk menginstal python3 di instance Amazon linux ec2:

$ sudo yum instal python3 -y

$ python3 --version

Python 3.7.6

Pruthvi Chitrala
sumber