จะอัปเกรด AWS CLI เป็นเวอร์ชันล่าสุดได้อย่างไร


144

ฉันเพิ่งสังเกตเห็นว่าฉันใช้ AWS CLI เวอร์ชันเก่าที่ขาดฟังก์ชันบางอย่างที่ฉันต้องการ:

$aws --version
aws-cli/1.2.9 Python/3.4.3 Linux/3.13.0-85-generic

ฉันจะอัปเกรด AWS CLI (1.10.24) เป็นเวอร์ชันล่าสุดได้อย่างไร

แก้ไข:

การรันคำสั่งต่อไปนี้ล้มเหลวในการอัปเดต AWS CLI:

$ pip install --upgrade awscli
Requirement already up-to-date: awscli in /usr/local/lib/python2.7/dist-packages
Cleaning up...

การตรวจสอบเวอร์ชัน:

$ aws --version
aws-cli/1.2.9 Python/3.4.3 Linux/3.13.0-85-generic

1
ฉันมีสถานการณ์เดียวกันนี้และเกิดจากการติดตั้ง aws cli ผ่านapt-get install awscliไฟล์. วิธีแก้ไขคือลบออกก่อน ( apt-get remove awscli) และทำตามpip installคำตอบด้านล่าง
Darren Reid

ฉันทำ (apt-get remove awscli) แต่หลังจากทำตามคำสั่ง (pip install ... ) ฉันไม่พบปฏิบัติการ awscli ผลลัพธ์ของ (pip install ... ) ระบุว่าติดตั้งสำเร็จ
NKM

หากฉันไม่ได้ใช้ตัวเลือก "--user" ในการติดตั้ง pip ฉันจะพบว่าสามารถเรียกใช้งาน awscli ได้ภายใต้ / usr / local / bin (ฉันใช้ Debian Jessie) แต่ด้วย - ตัวเลือกผู้ใช้ exec จะไม่พร้อมใช้งานใน ~ / .local หรือในโฟลเดอร์แพ็คเกจการติดตั้ง python ใด ๆ (dist-package หรือ site-package)
NKM

คำตอบ:


114

จากhttp://docs.aws.amazon.com/cli/latest/userguide/installing.html#install-with-pip

ในการอัปเกรดการติดตั้ง AWS CLI ที่มีอยู่ให้ใช้ตัวเลือก - อัปเกรด:

pip install --upgrade awscli

ฉันได้รับข้อความต่อไปนี้: Requirement already up-to-date: awscli in /usr/local/lib/python2.7/dist-packages. แม้ว่าเมื่อฉันเรียกฉันได้รับaws --version aws-cli/1.2.9 Python/3.4.3 Linux/3.13.0-85-generic
Borealis

23
ลองติดตั้ง pip3
อัปเกรด awscli

13
การรันsudo pip3 install --upgrade awscliและการรีบูตเป็นเคล็ดลับ ขอบคุณสำหรับความช่วยเหลือ
Borealis

19
จำเป็นต้องรีบูตเครื่องหลังจากติดตั้ง aws cli
JoeTidee

4
ฉันไม่อยากเชื่อเลยว่าจำเป็นต้องรีบูตเครื่องแต่ในกรณีนี้การรีบูต vm ของฉันเร็วกว่าการหาทางเลือกอื่น [ที่ 'รีบูต voodoo' สำหรับ windows]
Toddkaufmann

51

บน Linux และ MacOS X คำสั่งสามคำสั่งที่สอดคล้องกับแต่ละขั้นตอนมีดังนี้

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
$ unzip awscli-bundle.zip
$ sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

3
การอัปเดตผ่านpipไม่ได้ผลสำหรับฉันการลบawsและติดตั้งใหม่ด้วยวิธีนี้ได้ผล
BM

1
คุณช่วยวันของฉัน AWS มีเอกสารประกอบไม่ดี
Kannaiyan

ตัวเลือกนี้ใช้ได้ผลสำหรับฉันเพราะฉันจำเป็นต้องอัปเกรด/usr/local/aws(ไม่/home/ubuntu/.local/bin/aws) ให้ผู้ใช้เจนกินส์ใช้
hit3k

เอกสารของ AWS กำลังเสื่อมลงอย่างรวดเร็ว นี่คือคำตอบที่ถูกต้องฉันไม่เข้าใจว่าทำไมผู้ถามถึงยอมรับคำตอบที่ระบุไว้อย่างชัดเจนในการแก้ไขของพวกเขาไม่ได้ผล - แพ็คเกจ pip มักจะอยู่เบื้องหลังล่าสุดในปัจจุบันซึ่งเป็นปัญหาเมื่อใช้สิ่งใหม่ ๆ เช่น EKS . หมายเหตุ: ฉันต้องออกจากเชลล์และกลับเข้าสู่ระบบเพื่อรับคำสั่ง aws เพื่อรับเวอร์ชันใหม่ ไม่รู้ว่าทำไม
Dick Chesterwood

24

สิ่งนี้ใช้ไม่ได้:

pip install - อัปเกรด awscli

สิ่งนี้ใช้ได้ดีกับ Ubuntu 14.04 (ไม่จำเป็นต้องรีบูตด้วย .. คุณจะต้องติดตั้ง pip3 ก่อน):

การติดตั้ง pip3 - อัปเกรด awscli


4
สิ่งนี้อาจต้องการ: apt-get install python3-pip คำสั่งใดก็ได้ที่ทำงานได้ดีสำหรับฉันบน Ubuntu 14.04
dannyman

13

สำหรับ Ubuntu 16.04 ฉันใช้บางส่วนของคำตอบและความคิดเห็นอื่น ๆ และเพิ่งโหลดซ้ำ bash แทนการรีบูต

ฉันติดตั้ง aws-cli โดยใช้ apt ดังนั้นฉันจึงลบออกก่อน:

sudo apt-get remove awscli

จากนั้นฉันสามารถติดตั้ง pip (ฉันเลือกใช้ sudo เพื่อติดตั้งทั่วโลกด้วย pip2):

sudo pip install -U awscli

เนื่องจากฉันทำสิ่งนี้บนเซิร์ฟเวอร์ฉันไม่ต้องการรีบูต แต่การโหลด bash ใหม่ทำให้เคล็ดลับ:

source ~/.bashrc

ณ จุดนี้ฉันสามารถใช้ aws cli เวอร์ชันใหม่ได้

aws --version

1
ขอบคุณสำหรับsource ~/.bashrcขั้นตอน :)
Pratik Patel

8

ลอง sudo pip install --upgrade awscliและเปิดเชลล์ใหม่ สิ่งนี้ใช้ได้ดีสำหรับฉัน (ไม่จำเป็นต้องรีบูต)


ใน Mac OS ฉันต้องเรียกใช้sudo pip install --upgrade awscliเครื่องของฉันเพื่อให้สามารถถอนการติดตั้ง awscli เวอร์ชันก่อนหน้าได้ (หลังจากการอัปเกรดครั้งแรกดำเนินการสำเร็จ)
Lynn Langit

4

ใช้งานง่าย sudo pip install awscli --force-reinstall --upgrade

สิ่งนี้จะอัพเกรดโมดูลที่จำเป็นทั้งหมด


บนเครื่อง jenkins ของฉันฉันไม่ต้องการถอนการติดตั้ง cli อย่างชัดเจนดังนั้นฉันจึงใช้วิธีนี้และได้ผลอย่างมีเสน่ห์!
URB

4

หากคุณกำลังมีปัญหาในการติดตั้ง AWS CLI ใช้pipคุณสามารถใช้ "แถมการติดตั้ง" เป็นเอกสารที่นี่

ขั้นตอนที่กล่าวถึงมีดังนี้:

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
$ unzip awscli-bundle.zip
$ sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

ตรวจสอบเวอร์ชัน AWS CLI ของคุณในภายหลังเพื่อเป็นการตรวจสอบความถูกต้องว่าทุกอย่างดำเนินการอย่างถูกต้อง:

$ aws --version

หาก AWS CLI ไม่อัปเดตเป็นเวอร์ชันล่าสุดตามที่คาดไว้อาจมีการระบุไบนารี AWS CLI ไว้ที่อื่นตามที่คำสั่งที่กำหนดไว้ก่อนหน้า

ตรวจสอบว่า AWS CLI ถูกเรียกใช้จากที่ใด:

$ which aws

ในกรณีของฉัน AWS CLI ถูกเรียกใช้/bin/awsงานดังนั้นฉันจึงต้องติดตั้ง "Bundled Installer" โดยใช้ตำแหน่งดังต่อไปนี้:

$ sudo ./awscli-bundle/install -i /user/local/aws -b /bin/aws

การใช้โปรแกรมติดตั้งที่แถมมาทำให้ภาพนักเทียบท่าที่ได้นั้นมีขนาดใหญ่กว่าการใช้ pip ... เหลือเชื่อ
Chad Grant

อาจจำเป็นต้องเปิดเชลล์ใหม่หลังจากติดตั้ง - ด้วยเหตุผลบางประการ "aws" ไม่ชี้ไปที่การติดตั้งใหม่จนกว่าจะออกและรีสตาร์ท
Dick Chesterwood

4

บน Mac คุณสามารถใช้ homebrew:

ติดตั้ง: brew install awscli

อัพเกรด: brew upgrade awscli

ตรวจสอบว่าคุณไม่มีการติดตั้งหลายครั้ง: where aws


2
pip install awscli --upgrade --user

--upgradeตัวเลือกที่บอกจุดที่จะปรับความต้องการใด ๆ ที่ได้รับการติดตั้งไว้แล้ว --userตัวเลือกที่บอกจุดที่จะติดตั้งโปรแกรมเพื่อไดเรกทอรีย่อยของไดเรกทอรีผู้ใช้ของคุณเพื่อหลีกเลี่ยงการปรับเปลี่ยนห้องสมุดใช้ระบบปฏิบัติการของคุณ


0

เราสามารถทำตามคำสั่งด้านล่างเพื่อติดตั้ง AWS CLI บน UBUNTU:

sudo apt ติดตั้ง curl

ขด“ https://s3.amazonaws.com/aws-cli/awscli-bundle.zip ” -o“ awscli-bundle.zip”

เปิดเครื่องรูด awscli-bundle.zip

sudo ./awscli-bundle/install -i / usr / local / aws -b / usr / local / bin / aws

rm -rf awscli-bundle.zip awscli-bundle

เพื่อทดสอบ: aws - เวอร์ชัน

สำหรับข้อมูลเพิ่มเติม:

https://gurudathbn.wordpress.com/2018/03/31/installing-aws-cli-on-ubuntu/


0

เมื่อใช้sudo pip install --upgrade awscliฉันได้รับข้อผิดพลาดต่อไปนี้:

ERROR: Could not install packages due to an EnvironmentError: [Errno 30] Read-only file system: '/lib'

ด้วยการใช้ sudo กับตัวเลือก -H ฉันสามารถแก้ไขปัญหาได้

sudo -H pip install --upgrade awscli

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.