โดยพื้นฐานจากชื่อและรูปภาพด้านล่างฉันได้ติดตั้งแล้ว พีซีเรียล
และใช้งานได้ในเทอร์มินัล Python แต่ไม่ใช่ในสคริปต์
ฉันได้ทำ pip3 ติดตั้ง pyserial
และยังได้พยายาม pip ติดตั้ง pyserial
และ python3 -m pip ติดตั้ง pyserial
ซึ่งส่งคืนว่าฉันได้ติดตั้งแพ็คเกจแล้ว
เมื่อฉันใช้ หลาม3
ป้อนเทอร์มินัล Python และป้อน นำเข้าซีเรียล
ไม่มีข้อผิดพลาด เมื่อฉันมีสคริปต์ที่ใช้ นำเข้า pyserial
และเรียกใช้โดยใช้ python3 ./serial_test.py
มันทำให้ข้อผิดพลาด
ทำไมคนหนึ่งถึงโยนข้อผิดพลาดและอีกคนหนึ่งไม่? และฉันจะแก้ไขได้อย่างไร
นี่คือภาพหน้าจอของเทอร์มินัลของฉัน:
สคริปต์ไพ ธ อนของฉันไม่ว่าสคริปต์จะใช้ไฟล์ อนุกรม
ห้องสมุดส่งข้อผิดพลาด:
แก้ไข 1: สิ่งหนึ่งที่ฉันลืมพูดถึงก็คือเมื่อฉันทำ pip3 -- รุ่น
มันแสดงให้เห็น:
pip 22.0.3 จาก /usr/local/lib/python3.8/dist-packages/pip (python 3.8)
แทน:
/usr/lib/python3...
เช่น ระบุไว้ที่นี่แม้ว่าสิ่งนี้จะยังไม่สามารถอธิบายความแตกต่างของรหัสในเทอร์มินัลได้
บางทีวิธีแก้ปัญหาคือการติดตั้งโดยใช้ pip
สำหรับ /usr/lib/python3
แต่ฉันไม่แน่ใจว่าจะทำอย่างไร
แก้ไข 2: เมื่อฉันพิจารณาเพิ่มเติม ฉันจะอัปเดตผลการวิจัยของฉัน เมื่อฉันทำ python3 อยู่ที่ไหน
, ฉันเข้าใจ:
python3: /usr/bin/python3 /usr/bin/python3.8 /usr/bin/python3.8-config /usr/lib/python3 /usr/lib/python3.8 /usr/lib/python3.9 /อื่นๆ /python3 /etc/python3.8 /usr/local/lib/python3.8 /usr/include/python3.8 /usr/share/python3 /usr/share/man/man1/python3.1.gz
ฉันไม่แน่ใจว่าโปรแกรมทำงานอย่างไรในบรรทัดคำสั่ง ดังนั้นฉันจึงไม่แน่ใจว่าเหตุใดจึงมีหลายตำแหน่งสำหรับ หลาม3
แต่บางทีมันอาจจะอธิบายปัญหา
แก้ไข 3: ซึ่ง python3
แสดง:
/usr/bin/python3
และ ซึ่ง pip3
แสดง:
/usr/local/bin/pip3