Làm cách nào để cài đặt Python 3 trên phiên bản AWS EC2?


124

Tôi đang cố gắng cài đặt python 3.x trên phiên bản AWS EC2 và:

sudo yum install python3

không hoạt động:

No package python3 available.

Tôi đã đi vòng quanh và tôi không thể tìm thấy ai khác có vấn đề này nên tôi hỏi ở đây. Tôi có phải tự tải xuống và cài đặt nó không?


1
Có thể có, nó có thể chưa có sẵn cho Amazon Linux (hoặc làm rõ nếu bạn đang sử dụng một hệ điều hành khác).
Simeon Visser

có thể trùng lặp với Cài đặt python3 trên RHEL
BMW

Xin chào, vâng, đó là hệ điều hành Amazon Linux 'tiêu chuẩn'. Rất vui khi cài đặt thủ công nhưng vẫn còn thiếu một vài thứ (và tôi nghĩ tốt nhất nên kiểm tra trước khi dành thời gian để làm phiền :)
Jake_Howard

@BMW câu trả lời bạn liên kết là hữu ích nhưng không đủ để nó tự hoạt động.
Jake_Howard

Do AMI bên dưới thay đổi thường xuyên, nên có thể hữu ích để kiểm tra ghi chú phát hành cho máy gần đây nhất, có sẵn tại đây: aws.amazon.com/amazon-linux-ami/#Release_Notes
slushy

Câu trả lời:


238

Nếu bạn làm một

sudo yum list | grep python3

bạn sẽ thấy rằng trong khi họ không có gói "python3", họ có gói "python34" hoặc bản phát hành gần đây hơn, chẳng hạn như "python36". Cài đặt nó dễ dàng như:

sudo yum install python34 python34-pip

1
Đây dường như là câu trả lời đơn giản hơn. AWS có cập nhật các gói của họ trong khoảng thời gian khi @Jake_Howard đăng câu trả lời và bạn đã làm không?
La Mã

7
Để sử dụng PIP3 thêm dòng sau biểu tượng liên kết # ln -s /usr/bin/pip-3.4 / usr / bin / PIP3
Ray Vahey

10
sudo yum install python34không làm việc cho tôi. Nó nóiNo package python34 available.
Sohan Shirodkar

2
@SohanShirodkar bạn có thể đã không may mắn và vừa bắt được một bản phát hành mới - bản phát hành tháng 9 của họ được chuyển đến python35... đây là nơi bạn có thể xem các bản phát hành mới nhất: aws.amazon.com/amazon-linux-ami/#Release_Notes
slushy

5
Năm 2018, sudo yum install python36cũng có sẵn. cũng đừng quên cài đặt pip mới nhất: python3 -m pip install --user --upgrade pipvà sau đó bạn có thể python3 -m pip install --user virtualenvcho một env ảo. ref: pack.python.org/guides/installing-USE-pip-and-virtualenv
Emmanuel NK

54

Lưu ý: Điều này có thể đã lỗi thời đối với các phiên bản hiện tại của Amazon Linux 2 kể từ cuối năm 2018 (xem bình luận), giờ đây bạn có thể trực tiếp cài đặt nó qua yum install python3.

Trong Amazon Linux 2 , không có python3[4-6]repos yum mặc định, thay vào đó là Thư viện Extras của Amazon .

sudo amazon-linux-extras install python3

Nếu bạn muốn thiết lập môi trường ảo bị cô lập với nó; sử dụng yum install'd virtualenvcông cụ này không có vẻ làm việc đáng tin cậy.

virtualenv --python=python3 my_venv

Gọi mô-đun / công cụ venv sẽ ít khó khăn hơn và bạn có thể kiểm tra kỹ xem đó là điều bạn muốn / mong đợi python3 --versiontrước đó.

python3 -m venv my_venv

Những thứ khác nó có thể cài đặt (phiên bản vào ngày 18 tháng 1 ngày 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 ]

"Chủ đề python3 có ngày kết thúc hỗ trợ 2018-08-22" điều này không còn được hỗ trợ nữa
zenbeni

@zenbeni hệ thống mặc định Python có bị lỗi với Python 3 không?
Nick T

@NickT python3-3.7.2-4.amzn2.0.1.x86_64 thực sự được cài đặt thông qua 'yum install python3', bạn không sử dụng phần bổ sung linux của Amazon cho python
zenbeni

Tôi hơi bối rối tại sao điều này cứ tiếp tục tăng (4 trong tháng trước) nếu bây giờ nó đã lỗi thời.
Nick T

40

Dưới đây là các bước tôi đã sử dụng để cài đặt thủ công python3 cho bất kỳ ai khác muốn làm điều đó vì nó không quá đơn giản. EDIT: Việc sử dụng trình quản lý gói yum gần như chắc chắn dễ dàng hơn (xem các câu trả lời khác).

Lưu ý, có lẽ bạn sẽ muốn làm sudo yum groupinstall 'Development Tools'trước khi làm điều này nếu không pip sẽ không cài đặt.

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
Để sử dụng pip3cũng liên kết nó với sudo ln -s /opt/python3/bin/pip3 /usr/bin/pip3.
golmschenk 17/03/2016

@xpmatteo - bit nào sai? Nó chỉ là một bước hoặc cách tiếp cận mà bạn phản đối?
Jake_Howard

@Jake_Howard Không đúng khi cách duy nhất là cài đặt thủ công Python3. Đó chắc chắn là một lựa chọn, nhưng bạn cũng có thể làm yum install python35như những người khác đã đề cập. Nếu bạn vui lòng sửa đổi câu trả lời của mình, tôi sẽ xóa downvote của tôi :)
xpmatteo

@xpmatteo - diễn đạt lại câu trả lời để xóa cụm từ không chính xác. Đối với hậu thế: tại thời điểm đặt câu hỏi và đăng câu trả lời ban đầu, tôi không biết về khả năng sử dụng yum với một phiên bản cụ thể của python3 (xem các câu trả lời khác) hoặc các gói này không có sẵn tại thời điểm văn bản gốc.
Jake_Howard

Đã làm cho tôi! Ngày nay, bạn có thể sử dụng 3.7.2 thay vì 3.4.2
Al Po

24

EC2 (trên Amazon Linux AMI) hiện hỗ trợ python3.4 và python3.5.

sudo yum install python35
sudo yum install python35-pip

Đạo cụ cho câu trả lời này! Python3 không có python3trong các phiên bản AWS theo mặc định. Rất bực bội khi trao đổi giữa Ubuntu và AWS Linux khi làm việc!
Adam Link

20

Kể từ phiên bản Amazon Linux 2017.09 python 3.6 hiện đã có sẵn:

sudo yum install python36 python36-virtualenv python36-pip

Xem Ghi chú phát hành để biết thêm thông tin và các gói khác


12
Pip3 không được liên kết, vì vậy nếu bạn muốn sử dụng nó, sudo ln -s /usr/bin/pip-3.6 / usr / bin / pip3
Ski_squaw

4

Amazon Linux hiện hỗ trợ python36.

python36-pip không có sẵn. Vì vậy cần phải theo một lộ trình khác.

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

Đây là cách dễ nhất hoạt động vào năm 2020 của tất cả những người khác.
russellthehippo

4

Như @NickT đã nói, không có python3 [4-6] trong repos yum mặc định trong Amazon Linux 2 , cho đến ngày hôm nay, nó sử dụng 3.7 và nhìn vào tất cả các câu trả lời ở đây, chúng ta có thể nói nó sẽ được thay đổi theo thời gian.

Tôi đã tìm kiếm python3.6 trên Amazon Linux 2 nhưng amazon-linux-extrashiển thị rất nhiều tùy chọn nhưng không có python nào cả. thực tế, bạn có thể thử tìm phiên bản bạn biết trong 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

Thật không may, phiên bản duy nhất mà nó hiển thị nữa bây giờ là python34.x86_64, họ phải xóa python36.x86_64, điều này khá khó chịu.
dragon788

1

Thêm vào tất cả các câu trả lời đã có sẵn cho câu hỏi này, tôi muốn thêm các bước tôi đã làm để cài đặt Python3 trên phiên bản AWS EC2 chạy CentOS 7. Bạn có thể tìm thấy toàn bộ chi tiết tại liên kết này.

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

Đầu tiên, chúng ta cần kích hoạt SCL. SCL là một dự án cộng đồng cho phép bạn xây dựng, cài đặt và sử dụng nhiều phiên bản phần mềm trên cùng một hệ thống mà không ảnh hưởng đến các gói mặc định của hệ thống.

sudo yum install centos-release-scl

Bây giờ chúng ta có kho lưu trữ SCL, chúng ta có thể cài đặt python3

sudo yum install rh-python36

Để truy cập Python 3.6, bạn cần khởi chạy một phiên bản shell mới bằng công cụ scl của Bộ sưu tập phần mềm:

scl enable rh-python36 bash

Nếu bạn kiểm tra phiên bản Python bây giờ, bạn sẽ nhận thấy Python 3.6 là phiên bản mặc định

python --version

Điều quan trọng là chỉ ra rằng Python 3.6 là phiên bản Python mặc định chỉ trong phiên shell này. Nếu bạn thoát phiên hoặc mở phiên mới từ thiết bị đầu cuối khác Python 2.7 sẽ là phiên bản Python mặc định.

Bây giờ, Cài đặt các công cụ phát triển python bằng cách gõ:

sudo yum groupinstall Development Tools

Bây giờ hãy tạo một môi trường ảo để các gói python mặc định không bị rối.

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

Để sử dụng môi trường ảo này,

source my_project_venv/bin/activate

Bây giờ, bạn đã thiết lập môi trường ảo với python3.


0

Trên các dẫn xuất Debian như Ubuntu, hãy sử dụng apt. Kiểm tra kho apt cho các phiên bản Python có sẵn cho bạn. Sau đó, chạy một lệnh tương tự như sau, thay thế tên gói chính xác:

sudo apt-get install python3

Trên Red Hat và các dẫn xuất, sử dụng yum. Kiểm tra kho yum để biết các phiên bản Python có sẵn cho bạn. Sau đó, chạy một lệnh tương tự như sau, thay thế tên gói chính xác:

sudo yum install python36

Trên SUSE và các dẫn xuất, sử dụng zypper. Kiểm tra kho lưu trữ cho các phiên bản Python có sẵn cho bạn. Sau đó. chạy một lệnh tương tự như sau, thay thế tên gói chính xác:

sudo zypper install python3
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.