r/เรียนรู้หลาม

2

โพสต์โดย5 เดือนที่แล้ว

= โมดูลไม่ได้รับการนำเข้าอย่างถูกต้องบน Ubuntu VPS =

![ ](httpswww.redditstatic.com/desktop2x/img/renderTimingPixel.png)

ฉันมีโครงสร้างโฟลเดอร์ดังต่อไปนี้

- พาเรนต์ -- corefoo.py -- sourcebar.py

ภายใน foo.py

ฉันทำนี่

นำเข้าระบบปฏิบัติการ, sys

sys.path.append(os.path.join(os.path.dirname(os.path.abspath(ไฟล์จาก source.bar แถบนำเข้า)

แล้วฉันก็ดำเนินการเช่นนี้

แหล่งที่มาของหลาม/foo.py

ฉันลองสิ่งนี้บน windows 10 ใน virtualenv ใช้งานได้และบน ubuntu wsl virtualenv ใช้งานได้

บนเซิร์ฟเวอร์ Ubuntu ของฉันใน virtualenv ก็ได้รับข้อผิดพลาดนี้เช่นกัน

จาก source.bar นำเข้า Bar ModuleNotFoundError: ไม่มีโมดูลชื่อ 'sources.bar'ฉันพยายามเรียกใช้สคริปต์จากเส้นทางที่แตกต่างกัน ไม่มีอะไรทำงาน

บน Ubuntu 20.04 VPS ของฉัน ฉันมี python 3.8.10 บน windows ฉันมี python 3.9.7 บน wsl ฉันมี python 3.9.2

ฉันควรอัปเกรด python บน Ubuntu เป็น 3.9 หรือนี่เป็นปัญหาที่ไม่เกี่ยวข้อง

โหวตแล้ว 67%

ระดับ 1

os.path.join(os.path.dirname(os.path.abspath(ไฟล์

โปรดปล่อยให้ตัวเองเพลิดเพลินไปกับความสุขของ pathlib ที่นี่

จากเส้นทางนำเข้า pathlib sys.path.append(str(Pathfileresolveparents[1

คุณอาจต้องการพิจารณาใช้

sys.path.insert(0, str(Pathfileresolveparents[1

เพื่อรับประกันว่าจะตรวจสอบโฟลเดอร์นั้นก่อนและจะไม่เลือกบางอย่างจาก PATH ที่มีอยู่โดยไม่ตั้งใจ

1

== เกี่ยวกับชุมชน ==

Subreddit สำหรับโพสต์คำถามและขอคำแนะนำทั่วไปเกี่ยวกับรหัสหลามของคุณ

623k

สมาชิก

570

ออนไลน์

สร้างเมื่อ 2 ต.ค. 2552

Reddit Inc ÃÂé 2022 สงวนลิขสิทธิ์