Score:0

ใน Ubuntu 20.04 ฉันจะอัปเดต Python 3.8 เป็น 3.9 และใช้ IDLE Shell 3.9 แทน 3.8 เป็นค่าเริ่มต้นได้อย่างไร

ธง co
SBL

ฉันใช้ Ubuntu 20.04 ฉันสงสัยว่าทำไมหลังจากเข้ามาแล้ว

sudo apt ติดตั้ง python 3.9.1

ในเทอร์มินัล แต่ฉันยังคงได้รับ python 3.8.10 เมื่อฉันเข้าไป python3 -- เวอร์ชัน. ฉันจะสร้างเป็น 3.9 ได้อย่างไร เพื่อที่ว่าเมื่อฉันเปิด IDLE ฉันจะได้รับ "IDLE Shell 3.9.6" แทน "IDLE Shell 3.8.10"

ฉันเพิ่งเริ่มใช้ Ubuntu และ Linux และอาจยังไม่เข้าใจบางสิ่งอย่างชัดเจน

ChanganAuto avatar
us flag
สิ่งแรกที่คุณ *ต้อง* เข้าใจคืออย่ายุ่งกับ python เพราะมันเป็นส่วนสำคัญของระบบปฏิบัติการ
ru flag
***ห้าม*** ยุ่งกับ Python ที่ติดตั้งในระบบ! **สิ่งนี้จะทำลายความสามารถของคุณในการทำสิ่งใดก็ตามบนระบบ!** การจัดการแพ็คเกจ การอัปเดต ทุกอย่างมีส่วนประกอบที่ขึ้นกับ Python ซึ่งขึ้นอยู่กับเวอร์ชันของ Python ที่ระบบติดตั้ง
ru flag
ฉันกำลังมองหาทางเลือกอื่นในการใช้ IDLE กับ Python 3.9.x ที่ติดตั้งผ่าน PyENV ใน userspace แต่ฉันยังไม่มีวิธีแก้ปัญหานั้น - ถ้าฉันพบวิธีที่ได้ผล ฉันจะแจ้งให้คุณทราบและโพสต์ทั้งหมดนี้ เป็นคำตอบ
user535733 avatar
cn flag
หากคุณต้องการใช้ Python3 เวอร์ชันที่ใหม่กว่า วิธีที่ง่ายที่สุดคือใช้ Ubuntu เวอร์ชันที่ใหม่กว่า 20.04 (LTS) = Py3.8 21.04 (ไม่ใช่ LTS) = Py3.9
ru flag
@ user535733 ไม่ใช่ทุกคนที่ต้องการออกจากรุ่น LTS ซึ่งเป็นสาเหตุที่โซลูชันอื่นๆ มีอยู่ :)
user535733 avatar
cn flag
@ThomasWard อย่างแน่นอน
Score:1
ธง ru

อย่า ยุ่งกับ Python ที่ติดตั้งบนระบบ! สิ่งนี้จะทำลายความสามารถของคุณในการทำสิ่งใด ๆ ในระบบ! การจัดการแพ็คเกจ การอัปเดต ทุกอย่างมีส่วนประกอบที่ขึ้นกับ Python ซึ่งขึ้นอยู่กับเวอร์ชันของ Python ที่ระบบติดตั้ง


ที่นั่น เป็น วิธีติดตั้ง Python ที่ใหม่กว่าเพื่อใช้งานและใช้ IDLE กับมัน แต่มันไม่ตรงไปตรงมาและอาศัยโปรเจ็กต์ภายนอก (ซึ่งฉันไม่มีส่วนเกี่ยวข้องด้วย) ที่เรียกว่า ไพเยน บน GitHub ซึ่งช่วยให้คุณเรียกใช้การติดตั้ง Python หลายรายการพร้อมกันและใช้ชิมเพื่อให้แน่ใจว่ามีเวอร์ชันที่คุณต้องการใช้

คุณต้องปรับการตั้งค่าพื้นที่เก็บข้อมูลของคุณที่นี่เดี๋ยวนี้! เราต้องการ repos ต้นทาง (กำหนดโดย deb-src เข้าแถว /etc/apt/sources.list) เปิดใช้งานสำหรับ repos ที่คุณเปิดใช้งาน

หากคุณเป็นผู้ใช้ GUI ให้อ้างอิงถึง หน้านี้บน Ubuntu wiki สำหรับจัดการที่เก็บใน GUI. คุณจะต้องเปิดใช้งานตัวเลือก "ซอร์สโค้ด" ภายใต้แท็บ "ซอฟต์แวร์ Ubuntu"

หากคุณใช้บรรทัดคำสั่ง คุณไม่ควรใช้ IDLE ต่อไป แต่คุณสามารถแก้ไขแหล่งที่มาผ่านทางบรรทัดคำสั่งโดยอ้างอิงถึง หน้านี้ในเอกสารช่วยเหลือของ Ubuntu สำหรับการจัดการแหล่งที่มาของ CLI. ใน /etc/apt/sources.listสำหรับทุกบรรทัดที่คุณมี หนี้ ... บรรทัดที่ไม่ได้แสดงความคิดเห็นควรมีการแสดงความคิดเห็นออก deb-src บรรทัดที่ตรงกัน - ไม่แสดงความคิดเห็นนั้น deb-src เส้นแล้วเรียกใช้ อัปเดต sudo apt. หากไม่มีบรรทัด deb-src สำหรับทุกรายการที่ไม่ได้แสดงความคิดเห็น หนี้ บรรทัดซ้ำบรรทัดนั้น แต่เปลี่ยนรายการใหม่ (บรรทัดที่ซ้ำกัน) เพื่อเริ่มต้นด้วย deb-src.

เมื่อคุณทำเสร็จแล้ว เราจำเป็นต้องตั้งค่าการพึ่งพา pyenv

ติดตั้ง ไพเยน ในสภาพแวดล้อมของคุณ

PyENV ให้ตัวติดตั้งอัตโนมัติ - ที่นี่บน GitHub - พร้อมคำแนะนำการใช้งาน โดยพื้นฐานแล้วคำแนะนำเหล่านี้คือ:

ขด https://pyenv.run | ทุบตี

อย่าเรียกใช้สิ่งนี้ด้วย superuser ไม่จำเป็น! เมื่อการติดตั้งทำงาน มันจะแนะนำให้คุณเพิ่มบางบรรทัดลงในของคุณ ~/.bashrc ไฟล์. ทำตามที่บอก จากนั้นปิดและเปิดเทอร์มินัลของคุณใหม่

เมื่ออยู่ที่นั่น ตรวจสอบให้แน่ใจ ไพเยน ทำงานโดยการวิ่ง รุ่น pyenv และดูว่ามีอะไรอยู่ในรายการ (ควรเป็นรายการ 'ระบบ')

เมื่อเสร็จแล้ว เราจำเป็นต้องให้คุณสร้างการอ้างอิงที่จำเป็นสำหรับระบบของคุณเพื่อติดตั้งและสร้าง Python!

ขั้นแรก คุณต้องมีการอ้างอิงบิลด์บางอย่าง ทั้งหมดนี้ได้รับการปรับให้เข้ากับเวอร์ชันหลักต่างๆ ของ Python ในแต่ละรีลีส โดยรันเฉพาะบรรทัดที่เกี่ยวข้องกับรีลีสของคุณเท่านั้น

รับการพึ่งพาบิลด์ สำหรับ Python และ IDLE คุณต้องมีไลบรารี TK ด้วย ดังนั้นเราจะรับการอ้างอิงทั้งหมดก่อน

สำหรับ 18.04:

sudo apt build-dep python3.6 python3-tk

สำหรับ 20.04:

sudo apt build-dep python3.7 python3-tk

สำหรับ 21.04 (และ 21.10 เมื่อเปิดตัว):

sudo apt build-dep python3.9 python3-tk

สิ่งนี้จะติดตั้งไลบรารี่จำนวนมาก คุณต้องอนุญาตให้ติดตั้ง สิ่งนี้จะติดตั้งการอ้างอิงบิลด์ทั้งหมดที่จำเป็นเพื่อให้ Python สร้างและใช้งาน สิ่งนี้จะดึงการพึ่งพาสำหรับเวอร์ชัน Python ที่ติดตั้งระบบ แต่ควรทำงานได้ดีสำหรับ Python เวอร์ชันใหม่กว่าที่ pyenv จะติดตั้งใน userspace

ตอนนี้เมื่อติดตั้งทั้งหมดแล้ว เราต้องตั้งค่า pyenv ของคุณและติดตั้งเวอร์ชัน Python ใน userspace!

สมมติว่า รุ่น pyenv แสดงผลลัพธ์ จากนั้นเราจะดำเนินการตั้งค่าข้อมูลของคุณต่อไป

วิ่ง pyenv ติดตั้ง 3.9.7. สิ่งนี้จะดาวน์โหลด Python 3.9.7 tarball จากต้นน้ำ Python จากนั้นสร้างและคอมไพล์และติดตั้ง Python 3.9.7 ลงในพื้นที่ผู้ใช้สำหรับ pyenv สิ่งนี้จะไม่เป็นอันตรายต่อ Python ในระบบของคุณ

เสร็จแล้วก็วิ่ง pyenv ท้องถิ่น 3.9.7. สิ่งนี้จะตั้งค่า shims ซึ่งชี้ไฟล์ปฏิบัติการ Python ไปยังเวอร์ชันในเครื่องของคุณสำหรับเชลล์ของคุณเอง ตรวจสอบให้แน่ใจว่า pyenv ทั่วโลก ยังคงแสดง 'ระบบ' เป็นผลลัพธ์ - มิฉะนั้น คุณจะทำลาย apt และสิ่งอื่นๆ

ตอนนี้คุณสามารถรับ IDLE และเริ่มใช้งานได้

ประการแรก ตรวจสอบ pip3 อยู่ใน .pyenv/ชิม เส้นทางของโฮมไดเร็กตอรี่ของคุณ นั่นหมายความว่ามีการตั้งค่า pyenv อย่างถูกต้อง วิ่ง pip3 -- รุ่นและตรวจสอบให้แน่ใจว่ากำลังแสดงอยู่ pip ... จาก (เส้นทางยาวใน /home/$USER/.pyenv/...) (python 3.9) (แทนที่บิต 'เส้นทางยาว' ด้วยเส้นทางจริงสำหรับการอ้างอิงของคุณ

หากทุกอย่างดูดีและแสดง 'python 3.9' ที่นั่น คุณก็สามารถเรียกใช้ได้ pip3 ติดตั้ง -- อัปเกรด -- ผู้ใช้ไม่ได้ใช้งาน และติดตั้ง IDLE จากนั้นคุณสามารถดำเนินการได้จากบรรทัดคำสั่ง ไม่ได้ใช้งาน และเปิดตัวแก้ไข IDLE คุณจะต้องสร้างทางลัดบน GUI ด้วยตนเองเพื่อให้สิ่งนี้ทำงานได้โดยตรง (เกินขอบเขตของโพสต์นี้ ขออภัย!) เป็นแอปพลิเคชัน GUI โดยไม่ต้องเปิดในฝั่ง Python ของสิ่งต่างๆ บน Command LIne ก่อน อย่างไรก็ตาม สิ่งนี้จะทำให้ IDLE ทำงานได้อย่างถูกต้อง

(อย่างไรก็ตาม เนื่องจากเป็นแอปพลิเคชัน TK มันดูเล็กน้อย... น่าเกลียด... แจ้งให้ทราบล่วงหน้า)

ทดสอบบนระบบ 20.04 แต่ pyenv ควรทำงานได้ดีกับ Ubuntu รุ่นหลังๆ

SBL avatar
co flag
SBL
ตกลง ฉันเพิ่งรู้ว่าคุณไม่จำเป็นต้องใช้โปรแกรม python บน ubuntu และคุณสามารถใช้เทอร์มินัลเพื่อสร้างและเรียกใช้ไฟล์ python ในขณะที่เขียนโค้ดบนโปรแกรมแก้ไขข้อความ แต่ฉันได้ติดตั้ง idle จากเทอร์มินัลแล้วก่อนที่จะตระหนักถึงสิ่งนี้ ฉันควรถอนการติดตั้งที่ไม่ได้ใช้งานตอนนี้หรือไม่ ถ้าเป็นเช่นนั้นฉันควรทำอย่างไร?
ru flag
@SBL หากคุณติดตั้งตามคำแนะนำของฉัน `pip3 uninstall idle` หากคุณต้องการ Python 3.9 คุณยังคงต้องใช้คำแนะนำข้างต้นที่ฉันเขียน ยกเว้นการติดตั้ง IDLE อย่ายุ่งกับระบบของคุณ python)
SBL avatar
co flag
SBL
ขอบคุณสำหรับคำเตือน
John Mee avatar
th flag
Downvote สำหรับการเป็นคนตื่นตระหนก OP ได้ติดตั้งจาก repo อย่างเป็นทางการด้วยเครื่องมืออย่างเป็นทางการ การทำเช่นนั้นจะไม่ทำให้ระบบของพวกเขาเสียหาย หรือหากทำเช่นนั้น แสดงว่ามีปัญหาอย่างเป็นทางการอย่างกว้างขวาง สิ่งที่พวกเขาต้องการคือคำอธิบายว่าเหตุใดการตั้งค่าเป็นค่าเริ่มต้นจึงเป็นความคิดที่ไม่ดี และคำแนะนำในการเรียกใช้ python3.9 อย่างชัดเจน

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา