Python2.7 ไม่ทำงานใน 18.04 ติดตั้ง python3


10

ฉันได้ติดตั้ง ubuntu 18.04 ในกล่องเสมือนและเมื่อพยายาม python -v มันบอกว่าคุณติดตั้ง python3 ฉันต้องการลบ python 3 หรือปิดการใช้งานเพื่อให้สามารถใช้ python2.7 และรันสคริปต์บางอย่างที่ฉันมี


@ karel: ขอบคุณสำหรับข้อมูล ฉันตรวจสอบอีกครั้งด้วยระบบออนไลน์และพบว่ายังไม่ได้ติดตั้งใน 18.10
Takkat

@karel ขอบคุณ ปิดการถอนการโหวตและความคิดเห็นก่อนหน้า redacted :) +1 สำหรับคำตอบของคุณเช่นกัน :)
WinEunuuchs2Unix

4
FYI: Python 2 จะสูญเสียการสนับสนุนอัปสตรีมในเวลาน้อยกว่าหนึ่งปีดังนั้นคุณควรวางแผนที่จะแยก Python หรือโอนย้ายไปที่ Python 3 ในไม่ช้า
Kevin

@Rahul ใช้python2หรือpython3แทนเพียงpythonเพราะในบางระบบ (เช่น Arch) pythonโดยไม่มีรุ่นที่ใช้ Python 3 โดยค่าเริ่มต้น (ฉันคิดว่า Ubuntu จะทำเช่นเดียวกันในบางจุด) ถ้าเห็นด้วยกับเควินคุณควรย้ายไปที่ 3.x (จนถึงปลายปี 2561 มี
ไลบรารี่

ส่วนที่สนุกที่นี่คืออูบุนตู 18.04 รุ่นเก่าบางรุ่นยังคงมี python symlinked เป็น python2.7 (หลังจากติดตั้ง) แต่ตอนนี้ Ubuntu 18.04.02 ไม่ได้สร้าง symlink นี้ ฟังดูแปลก ๆ เมื่อคุณรู้ว่า 18.04 นั้นเป็น LTS ...
469 Ikar Pohorský

คำตอบ:


19

Python 2 ไม่ได้ติดตั้งตามค่าเริ่มต้นในการติดตั้ง Ubuntu 18.04 และใหม่กว่า อย่าลบ python3 ออกจาก Ubuntu 18.04 และใหม่กว่ามิฉะนั้นซอฟต์แวร์ Ubuntu, เทอร์มินัลและแอพอื่น ๆ ที่ติดตั้งโดยค่าเริ่มต้นจะหยุดทำงาน หากคุณลบ Python 3 และตอนนี้ซอฟต์แวร์ Ubuntu เทอร์มินัลและแอปพลิเคชั่นอื่น ๆ จะไม่ทำงานตามคำแนะนำในคำตอบนี้เพื่อติดตั้งใหม่และทำให้แอปพลิเคชันทั้งหมดทำงานได้อีกครั้ง

ในการติดตั้ง Python 2.7 ใน Ubuntu 18.04 และหลังจากนั้นให้เปิด terminal และพิมพ์:

sudo apt install python2.7  

ในการเริ่มต้นตัวแปล Python 2.7 ให้รันคำสั่งนี้:

python2.7

ในการเริ่มล่าม Python 3 ให้รันคำสั่งนี้:

python3  

วิธีการใด ๆ ที่ Python interpreter จะแสดงข้อความ version เมื่อมันเริ่มต้นขึ้นซึ่งแสดงให้เห็นว่าคุณใช้ Python เวอร์ชั่นใดอยู่


7

ใน Ubuntu 18.04 LTS ทั้ง Python 2.7 และ Python 3 ถูกติดตั้งโดยค่าเริ่มต้น:

ป้อนคำอธิบายรูปภาพที่นี่
สกรีนช็อตจากเซสชันสด

ใน 18.10 และใน 19.04 มันจะไม่ถูกติดตั้งในเซสชันสด:

ป้อนคำอธิบายรูปภาพที่นี่

คุณจะต้องติดตั้ง Python 2.7 ด้วยตนเองก่อนจึงจะสามารถใช้งานได้

sudo apt install python

แอพพลิเคชั่นขึ้นอยู่กับว่ามันจะติดตั้งมันเป็นการพึ่งพา


6

1) ในการติดตั้ง Python 2 เวอร์ชั่นบน Ubuntu 18.04 ให้เปิด terminal และป้อน:

sudo apt install python-minimal

หรือ

sudo apt install python2.7

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

python --version


2) หากยังคงรายการpython 3+ ที่ปรับปรุงแล้วของตัวเลือก Python เพื่อทำการสลับระหว่างเวอร์ชันของ python ใด ๆ ก็คือให้รัน:

update-alternatives --config python

ตัวอย่าง:

There are 2 choices for the alternative python (providing /usr/bin/python).

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /usr/bin/python3.5   2         auto mode
  1            /usr/bin/python2.7   1         manual mode
  2            /usr/bin/python3.5   2         manual mode

Press <enter> to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/bin/python2.7 to provide /usr/bin/python (python) in manual mode

และเลือกรุ่นที่เหมาะสมโดยใช้จำนวนเต็ม selction ดังที่แสดงด้านบน


3) ถ้าคุณเห็น: ปรับปรุงทางเลือก: ข้อผิดพลาด: ทางเลือกสำหรับหลามไม่มี วิ่ง:

ls /usr/bin/python*

ตัวอย่างผลลัพธ์:

/usr/bin/python  /usr/bin/python2  /usr/bin/python2.7  /usr/bin/python3  /usr/bin/python3.5

ถัดไปอัปเดตรายการทางเลือก Python สำหรับแต่ละเวอร์ชันที่คุณต้องการใช้กับลำดับความสำคัญ 1 และ 2:

update-alternatives --install /usr/bin/python python /usr/bin/python3.5 1
update-alternatives --install /usr/bin/python python /usr/bin/python2.7 2

จากนั้นเรียกใช้อีกครั้งupdate-alternatives --config pythonและเลือกรุ่นที่เหมาะสม ..


คุณช่วยอธิบายให้ชัดเจนว่าคำสั่งล่าสุดสองคำกำลังทำอะไรที่นี่คำถามอีกข้อหนึ่งคือฉันเปลี่ยนจากสคริปต์ของฉันจาก #! / usr / bin / python เป็น #! / usr / bin / python2.7 เป็นไปได้หรือไม่ที่จะเปลี่ยนพา ธ env สำหรับ python2.7 เป็น / usr / bin / python
Rahul

@Rahul เมื่อคุณใช้pythonเป็นคำสั่งบนเทอร์มินัลจะมีการพิจารณาทางเลือก / นามแฝง แต่ในสคริปต์ในขณะที่คุณเป็นเส้นทางที่แน่นอนของงูหลามดังนั้นคุณต้องใช้เส้นทางของงูหลามรุ่นที่คุณต้องการใช้
Kulfy

@Rahul ขอโทษที่แก้ไขแล้ว ในคำสั่งนี้คุณกำหนดลำดับความสำคัญใน params ตัวเลขล่าสุด (2 และ 1)
ผู้ใหญ่

ฉันไม่สามารถโหวตคำตอบของคุณได้มากพอ ตำนาน!
Kris Bonev

3

คุณไม่จำเป็นต้องลบหรือปิดการใช้งานpython3บน Ubuntu ของคุณ

หากคุณต้องการไพ ธ อนเพื่อเรียกใช้สคริปต์ขนาดเล็กคุณสามารถติดตั้ง Python 2 เป็นคำตอบของ @ karel

หากคุณเริ่มเรียนรู้ Python ฉันขอแนะนำให้คุณใช้สภาพแวดล้อมเสมือนจริงหรือเงื่อนไข


ใช่ได้แล้วตอนนี้ติดตั้ง python2.7 และตรวจสอบที่ไหน python2.7 และทำให้สคริปต์ใช้ env ที่ .. ขอบคุณ
Rahul

โดยปกติผมไม่ได้ติดตั้งแพคเกจจากผมติดตั้งแพคเกจโดยconda pipฉันแค่ใช้condaเพื่อสร้างการเข้าถึงเสมือน env
thangdc94

2

ไม่จำเป็นต้องปิดการใช้งาน python 3 คุณสามารถใช้งาน python 2.7 ได้โดยใช้คำสั่ง python2 filename.py คุณสามารถตรวจสอบเวอร์ชั่นของ python 2 ได้โดย python2 --version

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