У меня есть такая структура проекта:
|-- project
| |-- main.py
| |-- src
| | |-- __init__.py (empty)
| | |-- gui
| | | |-- __init__.py (raises App class)
| | | |-- app.py (contains App class)
| | | |-- screens
| | | | |-- __init__.py (raises screen classes)
| | | | |-- loading.py
| | | | |-- settings.py
| | | | |-- ... (many more)
Программа вызывается по адресу ./project/main.py примерно так:
from src.gui import App
if __name__ == '__main__':
app = App()
app.mainloop()
В операторе импорта PyCharmимеет красные линии под src
и App
, указывая, что это «неразрешенная ссылка». Это происходит во всех дополнительных файлах, которые также импортируются через src.xxx.yyy
, но во время выполнения ошибки не возникает. Я следовал инструкциям в этом вопросе, и после использования параметра Invalidate Cache and Restart красные линии на мгновение исчезли, но вернулись.
Проект структурирован таким образом, чтобы работать каксценарий (не модуль, который пользователь мог бы импортировать в свои собственные программы), как описано здесь my Martijn Pieters.
Есть идеи, почему PyCharm продолжает выделять это так, как сейчас? Использование сообщества 2018.2.4x64.