Python 3'ü bir AWS EC2 bulut sunucusuna nasıl yüklerim?


124

Bir AWS EC2 bulut sunucusuna python 3.x yüklemeye çalışıyorum ve:

sudo yum install python3

çalışmıyor:

No package python3 available.

Google'da dolaştım ve bu sorunu yaşayan başka birini bulamıyorum, bu yüzden burada soruyorum. Manuel olarak indirip kurmam gerekiyor mu?


1
Muhtemelen evet, henüz Amazon Linux için mevcut olmayabilir (veya farklı bir işletim sistemi kullanıp kullanmadığınızı netleştirebilir).
Simeon Visser


Merhaba, evet bu 'standart' Amazon Linux işletim sistemi. El ile yüklemekten mutluluk duyuyorum ama eksik olan birkaç şey var (ve
uğraşarak

@BMW bağlantı verdiğiniz yanıt yardımcı oldu, ancak kendi başına çalışmasını sağlamak için yeterli değildi.
Jake_Howard

AMI altına sık sık değiştiği için, burada mevcut En son makine için sürüm notlarına bakmak yararlı olabilir: aws.amazon.com/amazon-linux-ami/#Release_Notes
slushy

Yanıtlar:


240

Eğer yaparsan

sudo yum list | grep python3

"python3" paketleri olmasa da, bir "python34" paketine veya "python36" gibi daha yeni bir sürüme sahip olduklarını göreceksiniz. Kurulumu şu kadar kolaydır:

sudo yum install python34 python34-pip

1
Bu daha basit bir cevap gibi görünüyor. AWS, @ Jake_Howard'ın bir yanıt gönderdiği ve sizin yaptığınız zaman arasında paketlerini güncelledi mi?
Roman

7
Pip3'ü kullanmak için aşağıdaki sembolik bağlantıyı ekleyin # ln -s /usr/bin/pip-3.4 / usr / bin / pip3
Ray Vahey

10
sudo yum install python34benim için çalışmıyor. DiyorNo package python34 available.
Sohan Shirodkar

2
Eğer şanssız ve sadece yeni salınımını yakalanmış olabilir @SohanShirodkar - onların Eylül bırakma taşındı python35... en yeni bültenleri görebileceğiniz burada: aws.amazon.com/amazon-linux-ami/#Release_Notes
slushy

5
2018 yılında sudo yum install python36da mevcuttur. ayrıca en son pip: kurmayı unutmayın python3 -m pip install --user --upgrade pipve ardından python3 -m pip install --user virtualenvsanal ortam için yapabilirsiniz . ref: packaging.python.org/guides/installing-using-pip-and-virtualenv
Emmanuel NK

54

Not: Bu, Amazon Linux 2'nin mevcut sürümleri için 2018'in sonlarından beri kullanılmayabilir (yorumlara bakın), artık doğrudan üzerinden yükleyebilirsiniz yum install python3.

Amazon Linux 2'de , python3[4-6]varsayılan yum depolarında bir tane yoktur, bunun yerine Amazon Extras Kitaplığı vardır .

sudo amazon-linux-extras install python3

Bununla izole edilmiş sanal ortamlar kurmak isterseniz; kullanarak yum installd' virtualenvaraçları güvenilir çalışması görünmüyor.

virtualenv --python=python3 my_venv

Venv modülünü / aracını aramak daha az titizdir ve python3 --versionönceden istediğiniz / beklediğiniz şeyi iki kez kontrol edebilirsiniz .

python3 -m venv my_venv

Yükleyebileceği diğer şeyler (18 Ocak 18'den sonraki sürümler):

[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 ]

"Konu python3'ün destek sonu tarihi 2018-08-22" bu artık desteklenmiyor
zenbeni

@zenbeni, varsayılan sistem Python, Python 3'e çarptı mı?
Nick T

@NickT python3-3.7.2-4.amzn2.0.1.x86_64 aslında Kullanmadığınız 'yum python3 install' aracılığıyla yüklenen amazon linux ekstralar artık piton için
zenbeni

Şimdi eski ise, neden bu oyların yükselmeye devam ettiğini (geçen ay 4) biraz kafam karıştı.
Nick T

40

İşte python3'ü yapmak isteyen herkes için manuel olarak kurmak için kullandığım adımlar çok kolay olmadığı için. DÜZENLE: yum paket yöneticisini kullanmak neredeyse kesinlikle daha kolaydır (diğer yanıtlara bakın).

Not, muhtemelen bunu sudo yum groupinstall 'Development Tools'yapmadan önce yapmak isteyeceksiniz, aksi takdirde pip yüklenmez.

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)

8
Kullanmak için pip3ayrıca bağlantı kurun sudo ln -s /opt/python3/bin/pip3 /usr/bin/pip3.
golmschenk

@xpmatteo - hangi bit yanlış? Bu sadece bir adım mı yoksa itiraz ettiğiniz bir yaklaşım mı?
Jake_Howard

@Jake_Howard Tek yolun Python3'ü manuel olarak kurmak olduğu doğru değil. Bu kesinlikle bir seçenektir, ancak yum install python35diğerlerinin de söylediği gibi yapabilirsiniz . Cevabınızı nazikçe değiştirirseniz, olumsuz oyumu kaldıracağım :)
xpmatteo

@xpmatteo - yanlış ifadeyi kaldırmak için yanıtı yeniden yazdı. Gelecek nesiller için: soruyu sorduğumda ve orijinal cevabı yayınladığımda, yum'u belirli bir python3 sürümüyle kullanma yeteneğinin farkında değildim (diğer cevaplara bakın) veya bu paketler o sırada mevcut değildi orijinal yazı.
Jake_Howard

Benim için çalıştı! Bu günlerde 3.4.2 yerine 3.7.2 kullanabilirsiniz
Al Po

24

EC2 (Amazon Linux AMI'de) şu anda python3.4 ve python3.5'i desteklemektedir.

sudo yum install python35
sudo yum install python35-pip

Bu cevap için destek! Python3, python3varsayılan olarak AWS örneklerinde değildir . Çalışırken Ubuntu ve AWS Linux arasında geçiş yapmak çok sinir bozucu!
Adam Link

20

Amazon Linux 2017.09 python 3.6 sürümünden itibaren şu anda kullanılabilir:

sudo yum install python36 python36-virtualenv python36-pip

Daha fazla bilgi ve diğer paketler için Sürüm Notlarına bakın


12
pip3 bağlantılı değil, bu yüzden kullanmak istiyorsanız, sudo ln -s /usr/bin/pip-3.6 / usr / bin / pip3
ski_squaw

4

Amazon Linux artık python36'yı destekliyor.

python36-pip mevcut değil. Bu yüzden farklı bir yol izlemeniz gerekiyor.

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

Bu, diğerlerinin içinde 2020'de işe yarayan en kolay yoldur.
russellthehippo

4

@NickT'in dediği gibi, Amazon Linux 2'deki varsayılan yum depolarında python3 [4-6] yok , bugün itibariyle 3.7 kullanıyor ve buradaki tüm cevaplara baktığımızda zamanla değişeceğini söyleyebiliriz.

Amazon Linux 2'de python3.6 arıyordum ama amazon-linux-extraspek çok seçenek gösteriyor ama hiç python yok. aslında epeldepoda bildiğiniz sürümü bulmaya çalışabilirsiniz :

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

Ne yazık ki şu anda gösterdiği tek sürüm python34.x86_64, oldukça can sıkıcı olan python36.x86_64'ü kaldırmış olmalılar.
dragon788

1

Bu soru için halihazırda mevcut olan tüm yanıtları ekleyerek, Python3'ü CentOS 7 çalıştıran AWS EC2 bulut sunucusuna kurmak için izlediğim adımları eklemek istiyorum. Tüm ayrıntıları bu bağlantıda bulabilirsiniz.

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

Öncelikle, SCL'yi etkinleştirmemiz gerekiyor. SCL, sistem varsayılan paketlerini etkilemeden aynı sistem üzerinde yazılımın birden çok sürümünü oluşturmanıza, kurmanıza ve kullanmanıza olanak tanıyan bir topluluk projesidir.

sudo yum install centos-release-scl

Artık SCL havuzumuz olduğuna göre, python3'ü kurabiliriz.

sudo yum install rh-python36

Python 3.6'ya erişmek için Yazılım Koleksiyonu scl aracını kullanarak yeni bir kabuk örneği başlatmanız gerekir:

scl enable rh-python36 bash

Python sürümünü şimdi kontrol ederseniz, Python 3.6'nın varsayılan sürüm olduğunu fark edeceksiniz.

python --version

Python 3.6'nın yalnızca bu kabuk oturumunda varsayılan Python sürümü olduğunu belirtmek önemlidir. Oturumdan çıkarsanız veya başka bir terminalden yeni bir oturum açarsanız, Python 2.7 varsayılan Python sürümü olacaktır.

Şimdi, python geliştirme araçlarını yazarak kurun:

sudo yum groupinstall Development Tools

Şimdi, varsayılan python paketlerinin karışmaması için sanal bir ortam oluşturun.

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

Bu sanal ortamı kullanmak için,

source my_project_venv/bin/activate

Artık sanal ortamınız python3 ile kurulmuş durumda.


0

Ubuntu gibi Debian türevlerinde apt. Kullanabileceğiniz Python sürümleri için apt havuzunu kontrol edin. Ardından, doğru paket adını değiştirerek aşağıdakine benzer bir komut çalıştırın:

sudo apt-get install python3

Red Hat ve türevlerinde yum kullanın. Size sunulan Python sürümleri için yum deposunu kontrol edin. Ardından, doğru paket adını değiştirerek aşağıdakine benzer bir komut çalıştırın:

sudo yum install python36

SUSE ve türevlerinde zypper kullanın. Size sunulan Python sürümleri için depoyu kontrol edin. Sonra. doğru paket adını değiştirerek aşağıdakine benzer bir komut çalıştırın:

sudo zypper install python3

-1

Amazon linux ec2 örneğine python3 yüklemek için tek komut:

$ sudo yum install python3 -y

$ python3 --version

Python 3.7.6

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.