मेरे पास समाधान के लिए जाना था
Run > Edit Configuration > Defaults > Python
फिर प्रबंधन करें
- "PYTHONPATH में सामग्री जड़ें जोड़ें" और
- "PYTHONPATH में स्रोत रूट जोड़ें"
चेकबॉक्स, साथ ही "वर्किंग डायरेक्टरी" फ़ील्ड सेट कर रहा है।
यदि आपने अपना स्वयं का रन / डिबग कॉन्फ़िगरेशन सेट किया है तो आप जाना चाहते हैं
Run > Edit Configuration > Python > [Whatever you called your config]
और इसे वहां संपादित करें।
मेरी समस्या यह थी कि मैं अपनी पूरी रिपॉजिटरी अपने PyCharm 2016.2 प्रोजेक्ट में शामिल करना चाहता था, लेकिन केवल एक सबफ़ोल्डर वास्तविक अजगर स्रोत कोड रूट था। फिर मैंने फ़ोल्डर को राइट क्लिक करके इसे "सोर्स रूट" के रूप में जोड़ा
Mark directory as > Source Root
फिर अनचेक करें "सामग्री जड़ों को PYTHONPATH में जोड़ें" और रन / डिबग कॉन्फिग मेनू में "PYTHONPATH में सोर्स रूट जोड़ें" चेक करें। मैंने तब ऐसा करके फ़ोल्डर पाथिंग की जाँच की:
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'
]
जिसका मतलब है कि मुझे प्रोजेक्ट रूट फ़ोल्डर शामिल है। इसने मेरे लिए पथभ्रष्ट कर दिया।