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 สงวนลิขสิทธิ์