Per me la soluzione era andare a
Run > Edit Configuration > Defaults > Python
quindi gestisci il file
- "Aggiungi radici dei contenuti a PYTHONPATH" e
- "Aggiungi radice sorgente a PYTHONPATH"
caselle di controllo, nonché l'impostazione del campo "Directory di lavoro".
Se hai impostato le tue configurazioni di esecuzione / debug, potresti voler andare a
Run > Edit Configuration > Python > [Whatever you called your config]
e modificalo lì.
Il mio problema era che volevo che il mio intero repository fosse incluso nel mio progetto PyCharm 2016.2, ma solo una sottocartella era la radice del codice sorgente di Python. L'ho aggiunto come "Source Root" facendo clic con il pulsante destro del mouse sulla cartella
Mark directory as > Source Root
Quindi deseleziona "Aggiungi radice di contenuto a PYTHONPATH" e seleziona "Aggiungi radice di origine a PYTHONPATH" nel menu di configurazione Esegui / Debug. Ho quindi controllato il percorso della cartella facendo:
import sys
logger.info(sys.path)
Questo ha prodotto:
[
'/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'
]
Tuttavia, senza la correzione diceva:
[
'/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'
]
Il che significa che ho incluso la cartella principale del progetto. Questo ha incasinato il percorso per me.