#python #pycharm
#python #pycharm
Вопрос:
Недавно я переключил компьютеры и повторно загрузил свои python и pycharm, я попытался активировать свои сохраненные проекты на новом компьютере, но столкнулся с проблемой: pycharm не распознает родительскую папку некоторых файлов и ошибочно принимает ее за модуль.
Папка называется: «Enrichment_extra_stuff», и когда я пытаюсь импортировать файл в эту папку из другого файла в этой папке, кажется, что pycharm распознает его, потому что он показывает мне все файлы внутри него, но когда я запускаю код, я получаю сообщение об ошибке ModuleNotFoundError: No module named 'Enrichment_extra_stuff'
.
Также странно, когда я пытаюсь выполнить явный импорт и просто пишу import fr
, чтобы импортировать файл fr, тогда pycharm выдает ошибку, но когда я запускаю его, он работает так, как должен.
Я попытался немного покопаться в pycharm, но запутался и ничего не нашел, моя версия интерпретатора python — 3.8, и я программирую на Windows, если это поможет.
Ответ №1:
Папка (или, лучше, каталог) не рассматривается как модуль, если вы не поместите __init__.py
в нее файл. Это может быть пустым, или это должно быть содержимое модуля. Это Python: модуль представляет собой либо файл, либо каталог с __init__.py
Вторая часть предназначена только для Pycharm: PyCharm создается для обработки больших проектов, и часто ваша программа находится не в базовом (корневом) каталоге вашего проекта, а в одном (или нескольких) подкаталогах (например src
). Поэтому вы должны явно указать PyCharm, какие каталоги являются корневыми. Итак, перейдите на панель структуры проекта (панель с файлами, обычно с левой стороны), перейдите в свой «корневой» каталог и щелкните правой кнопкой мыши на вашем базовом исходном каталоге: во всплывающем меню выберите Пометить каталог как, а затем выберите Исходный корень.
Комментарии:
1. Что касается первой части, папка с именем: «Enrichment_extra_stuff» не содержит файла с именем
__init__.py
. Он содержит папку с именем:__ pycache __
, если это поможет. Что касается второй части, спасибо, теперь, если я попытаюсь выполнитьimport tr
из другого файла внутри папки, он распознает этот файл.2. Вы должны создать
__init__.py
. Это ваш файл модуля. — Примечание: PyCharm — это продвинутая среда разработки. Возможно, вы хотите начать с редакторов IDLE (входит в состав python) или spyder, чтобы выучить Python, иначе вы можете запутаться в том, что требуется PyCharm, и в чем проблемы Python.3. Я добавил вызываемый файл python
__init__
в папку. Он по-прежнему не работает. И, кстати, я уже изучил Python.