Score:0

ไม่พบโมดูล Python หลังอัปเกรดเป็น 20.04

ธง es

ฉันใช้ ipython, pandas และไลบรารี่อื่น ๆ ใน Ubuntu 16.04 มาเป็นเวลานานมาก ฉันเพิ่งอัปเกรดเป็น Ubuntu 20.04 (อัปเกรดเป็น 18.04 และจากนั้นเป็น 20.04 อย่างรวดเร็ว)

ทั้งใน 18.04 และ 20.04 เมื่อฉันพยายามเรียกใช้ ipython ฉันได้รับข้อผิดพลาดต่อไปนี้:

Traceback (การโทรครั้งล่าสุดล่าสุด): ไฟล์ "/usr/local/bin/ipython3", บรรทัดที่ 6, ใน จากการนำเข้า IPython start_ipython ModuleNotFoundError: ไม่มีโมดูลชื่อ 'IPython'

ipython อยู่ใน /usr/local/bin/ipython3การกลับมานั้นดูเหมือนจะมี '#!/usr/bin/python3'

เห็นได้ชัดว่า /usr/bin/python3 ไม่เห็นการติดตั้ง ipython

ตอนนี้ใน Ubuntu 20.04 /usr/bin/python3 คือ python3.8 IIRC ใน 16.04 เคยเป็น python python3.5

เดิมที ipython และโมดูลอื่น ๆ ได้รับการติดตั้งเมื่อฉันอยู่ใน 16.04 ดังนั้นฉันคิดว่าสิ่งเหล่านี้จะติดตั้งลงใน python3.5 ... และ python3 ปัจจุบันไม่เห็น

คำถาม:

  1. เหตุผลข้างต้นของฉันถูกต้องหรือไม่

  2. นี่หมายความว่าตอนนี้ในอูบุนตู 20.04 ฉันควรติดตั้งโมดูลทั้งหมดที่ฉันต้องการใหม่อีกครั้งหรือไม่ (เพื่อที่พวกเขาจะเข้าสู่ python3.8)

  3. ถ้าฉันต้องติดตั้งโมดูลใหม่ การลบ ipython รุ่นก่อนหน้าหรือโมดูลอื่นๆ ที่ติดตั้งใน 16.04 จะปลอดภัยหรือไม่ ฉันจะรู้ได้อย่างไรว่าบางโมดูลเหล่านี้ถูกใช้โดยส่วนที่เหลือของระบบ

  4. โดยทั่วไป ผู้ใช้ในอูบุนตูเมื่อติดตั้งโมดูล เขาควรทำ 'sudo pip install' หรือเพียงแค่ 'pip install'

  5. ขณะนี้เมื่อฉันตรวจสอบ /usr/bin/python* ดูเหมือนว่าจะมีการติดตั้งหลายอย่าง: /usr/bin/python2.7
    /usr/bin/python3.5
    /usr/bin/python3.5m
    /usr/bin/python3.8

ระบบต้องการสิ่งเหล่านี้ทั้งหมด (เช่น ubuntu 20.04) หรือมีของเหลือจาก ubuntu 16.04 ที่ฉันสามารถลบออกได้อย่างปลอดภัยหรือไม่

ru flag
ปล่อยให้ระบบติดตั้ง Python เพียงอย่างเดียว เว้นแต่คุณจะรู้ว่าคุณกำลังทำอะไรอยู่ หากคุณอัปเกรดแล้ว Python จะใช้ค่าเริ่มต้นเป็น 3.8 และจะส่งผลให้โมดูลก่อนหน้านี้ไม่ทำงาน คุณจะต้องติดตั้งโมดูลเหล่านั้นใหม่
Mani avatar
es flag
ปัญหาคือฉันไม่รู้ว่าระบบใดเป็นการติดตั้ง python และโมดูลใดที่พวกเขาต้องการ ตัวอย่างเช่น - ฉันรู้ว่าฉันติดตั้ง ipython ใน 16.04 ดังนั้นนั่นอาจไม่ใช่ระบบ ดังนั้นหากฉันติดตั้ง ipython ใหม่ .. ฉันคิดว่านี่จะเขียนทับ /usr/local/bin/ipython ปัจจุบัน .. ซึ่งนำไปสู่การติดตั้ง ipython สองครั้งที่อาจเขียนทับ / เสียหายซึ่งกันและกัน
ru flag
หากคุณทำการติดตั้งประเภทใดก็ตามใน /usr/local/ สิ่งเหล่านั้นจะถูกติดตั้งด้วยตนเองและจำเป็นต้องสร้างใหม่/ติดตั้งใหม่/คอมไพล์ใหม่ ปล่อยให้สิ่งที่ไม่ได้อยู่ใน `/usr/local` เพียงอย่างเดียว คุณอาจต้องการเรียกใช้ `sudo apt autoremove` ในบางจุดเพื่อลองและล้างแพ็คเกจที่ไม่จำเป็น (ซึ่งอาจลบ Python รุ่นเก่าออก)
Mani avatar
es flag
ขอขอบคุณ. แต่ฉันไม่ได้ติดตั้งด้วยตนเองในตำแหน่งเหล่านั้น - ฉันแน่ใจมากขนาดนั้น ใน 16.04, IIRC ที่ฉันทำทั้งหมดคือ pip3 ติดตั้ง ipython ดังนั้นหาก ipython อยู่ใน /usr/local/bin อาจเป็นการติดตั้งที่วางไว้ที่นั่น (นอกจากนี้ ฉันได้ sudo apt autoremove ..ไม่ได้ลบอะไรเลย)

โพสต์คำตอบ

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