Score:0

เปลี่ยนเวอร์ชันของไพทอนในสภาพแวดล้อมเสมือนเดียวเท่านั้น

ธง th

Gnome Terminal จะทำงานก็ต่อเมื่อ หลาม3.6 ถูกนำมาใช้. ดังนั้นฉันจึงสร้างสภาพแวดล้อมและติดตั้ง หลาม3.9 เช่นนั้น:

#!/usr/bin/env ทุบตี

sudo apt ติดตั้ง python3-venv
python3 -m venv test_env
ต้นทาง test_env/bin/activate

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get อัปเดต
รายการที่เหมาะสม | grep python3.9
sudo apt-get ติดตั้ง python3.9
sudo update-alternatives -- ติดตั้ง /usr/bin/python3 python3 /usr/bin/python3.6 1
sudo update-alternatives -- ติดตั้ง /usr/bin/python3 python3 /usr/bin/python3.9 2
sudo update-alternatives --config python3.dll
python3 -V

อย่างไรก็ตามสิ่งนี้ทำให้ทั้งระบบเปลี่ยนไปใช้ หลาม3.9 และป้องกันไม่ให้เทอร์มินัลทำงาน ฉันจะป้องกันสิ่งนี้ได้อย่างไร

ตอนนี้วิ่ง ที่มา ~/.bashrc ช่วยให้ขั้ว non-venv ทำงานต่อไปได้ และ หลาม -V รายงานเวอร์ชันที่ถูกต้องของ 3.6. แต่ถ้าปิดหน้าต่างแล้วเปิดใหม่ไม่ได้ ฉันต้องใช้เทอร์มินัลใน IDE ของฉันเพื่อเลือกไพธอนเวอร์ชันเก่าอีกครั้ง วิ่ง:

sudo update-alternatives -- ติดตั้ง /usr/bin/python3 python3.dll

แสดงว่าจริงรุ่น 3.9 ถูกเลือก แม้ว่า หลาม -V รายงานที่ใช้งานจริง หลาม3.6:

# หลาม 3.6.9


# สถานะลำดับความสำคัญของเส้นทางที่เลือก
# --------------------------------------------- -----------
# 0 /usr/bin/python3.9 2 โหมดอัตโนมัติ
# 1 /usr/bin/python3.10 2 โหมดแมนนวล
# 2 /usr/bin/python3.6 1 โหมดแมนนวล
#* 3 /usr/bin/python3.9 2 โหมดแมนนวล
vanadium avatar
cn flag
คุณออกแบบขั้นตอนนี้ด้วยตัวเองหรือไม่? การเพิ่ม PPA จากนั้นติดตั้ง python จะอัปเดตเวอร์ชันระบบของ python และทำให้ระบบของคุณเสียหาย
Solebay Sharp avatar
th flag
ไม่ ฉันไม่ได้ทำเช่นนั้น ฉันไม่รู้ว่า `PPA` ทำอะไร ฉันคิดว่าปัญหาคือวิธีที่ฉันตั้งค่า venv ฉันสามารถลบ 'PPA' ได้หรือไม่
vanadium avatar
cn flag
ได้ การใช้ ppa-purge คุณสามารถลบ PPA และเลิกทำการเปลี่ยนแปลงได้ ฉันไม่สามารถช่วยโดยเฉพาะในการตั้งค่าสภาพแวดล้อมของงูหลามที่แตกต่างกันได้
us flag
การใช้ Deadsnakes PPA ไม่ ** ไม่ ** อัปเดตเวอร์ชันระบบของไพ ธ อน ทั้งสองเวอร์ชันมีอยู่พร้อมกัน
Score:0
ธง th

ตามที่ระบุไว้โดย Vanadium โดยใช้ ส.ป.ก อัปเดตเวอร์ชันระบบของ python ดังนั้นแม้จาก venv ฉันก็ได้ทำการเปลี่ยนแปลงในระดับโลก

วิธีแก้ปัญหานั้นค่อนข้างชัดเจน Python3 ไม่ได้รัน Python3 แต่จะรันเวอร์ชันของ python3 ที่ติดตั้งบนระบบ ดังนั้นในกรณีของฉัน...

python3 -m venv test_env

กำลังตั้งค่า python3.6 venv วิ่ง...

python3.9 -m venv test_env

ดูเหมือนว่าจะตั้งค่า python3.9 venv ได้อย่างถูกต้อง เพื่อตอกย้ำประเด็นหลัก ในการรันโค้ด python ใน ATOM IDE โดยใช้ Hydrogen ใน 3.9 venv ของฉัน ฉันต้องรัน...

python3.9 -m ติดตั้ง ipykernel --user --name=atom_venv_py

ดังนั้นจึงเป็นเพียงกรณีของการระบุเวอร์ชันของไพ ธ อนที่คุณต้องการใช้ในทุก ๆ กรณีที่เบี่ยงเบนไปจากเวอร์ชัน sys (เคอร์เนล IPython เป็นแบ็กเอนด์การดำเนินการของ Python สำหรับ Jupyter ซึ่งอนุญาตให้ Hyrdogen ทำงานได้)

us flag
ไม่ การใช้ Deadsnakes PPA เพื่อติดตั้ง python3.9 จะ **ไม่** แทนที่เวอร์ชันระบบของ python
Solebay Sharp avatar
th flag
ดังนั้นจึงมีอยู่พร้อมกัน อะไรเป็นตัวกำหนดว่าจะใช้ไพ ธ อนเวอร์ชันใด
us flag
เมื่อคุณเรียกใช้ `python3` คุณจะได้รับ python เริ่มต้นของระบบ (ซึ่งเป็น 3.6 ใน Ubuntu 18.04) เมื่อคุณเรียกใช้ `python3.9` คุณจะได้รับ python3.9 และแน่นอนว่าเมื่อคุณเรียกใช้ `python3.6` คุณจะได้รับ python3.6 อีกครั้ง ฉันยังไม่ได้ลอง แต่อย่างที่คุณเขียนไว้ในคำตอบของคุณ `python3.9 -m venv test_env` ควรให้ผลลัพธ์ตามที่ตั้งใจไว้

โพสต์คำตอบ

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