สำหรับฉันวิธีแก้ปัญหาคือไปที่
Run > Edit Configuration > Defaults > Python
จากนั้นจัดการไฟล์
- "เพิ่มรากเนื้อหาใน PYTHONPATH" และ
- "เพิ่มรากที่มาใน PYTHONPATH"
ช่องทำเครื่องหมายเช่นเดียวกับการตั้งค่าฟิลด์ "ไดเรกทอรีการทำงาน"
หากคุณได้ตั้งค่าการกำหนดค่า Run / Debug ของคุณเองคุณอาจต้องการไปที่
Run > Edit Configuration > Python > [Whatever you called your config]
และแก้ไขที่นั่น
ปัญหาของฉันคือฉันต้องการให้ที่เก็บทั้งหมดของฉันรวมอยู่ในโครงการ PyCharm 2016.2 ของฉัน แต่มีเพียงโฟลเดอร์ย่อยเท่านั้นที่เป็นรูทซอร์สโค้ด python ที่แท้จริง ฉันเพิ่มเป็น "Source Root" โดยคลิกขวาที่โฟลเดอร์แล้ว
Mark directory as > Source Root
จากนั้นยกเลิกการเลือก "Add content root to PYTHONPATH" และเลือก "Add source root to PYTHONPATH" ในเมนู Run / Debug config จากนั้นฉันตรวจสอบเส้นทางโฟลเดอร์โดยทำ:
import sys
logger.info(sys.path)
ผลลัพธ์นี้:
[
'/usr/local/my_project_root/my_sources_root',
'/usr/local/my_project_root/my_sources_root',
'/usr/lib/python3.4', '/usr/lib/python3.4/plat-x86_64-linux-gnu',
'/usr/lib/python3.4/lib-dynload',
'/usr/local/lib/python3.4/dist-packages',
'/usr/lib/python3/dist-packages'
]
อย่างไรก็ตามหากไม่มีการแก้ไขก็กล่าวว่า:
[
'/usr/local/my_project_root/my_sources_root',
'/usr/local/my_project_root', <-- NOT WANTED
'/usr/lib/python3.4',
'/usr/lib/python3.4/plat-x86_64-linux-gnu',
'/usr/lib/python3.4/lib-dynload',
'/usr/local/lib/python3.4/dist-packages',
'/usr/lib/python3/dist-packages'
]
ซึ่งหมายความว่าฉันมีโฟลเดอร์รูทโปรเจ็กต์รวมอยู่ด้วย สิ่งนี้ทำให้เส้นทางของฉันยุ่งเหยิง