Para mim, a solução era ir para
Run > Edit Configuration > Defaults > Python
então gerencie o
- "Adicionar raízes de conteúdo a PYTHONPATH" e
- "Adicionar raiz de origem a PYTHONPATH"
, bem como definir o campo "Diretório de trabalho".
Se você definiu suas próprias configurações de execução / depuração, você pode querer ir para
Run > Edit Configuration > Python > [Whatever you called your config]
e edite lá.
Meu problema era que eu queria ter todo o meu repositório incluído no meu projeto PyCharm 2016.2, mas apenas uma subpasta era a raiz do código-fonte do Python real. Eu adicionei como "Source Root" clicando com o botão direito do mouse na pasta e depois
Mark directory as > Source Root
Em seguida, desmarque "Adicionar raízes de conteúdo a PYTHONPATH" e marque "Adicionar raiz de origem a PYTHONPATH" no menu de configuração Executar / Depurar. Em seguida, verifiquei o caminho da pasta fazendo:
import sys
logger.info(sys.path)
Isso resultou:
[
'/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'
]
No entanto, sem a correção, dizia:
[
'/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'
]
O que significa que incluí a pasta raiz do projeto. Isso atrapalhou o caminho para mim.