February 9, 2021

Почему Spyder не находит ваши файлы

Если  замучились от ситуаций, когда Spyder не видит файлы, находящиеся в той  директории, с которой вы планируете работать, то оставайтесь на связи. Я  расскажу о наиболее распространенной причине этого и как с ней  бороться.

Как  правило, проблема заключается в настройках вашей рабочей директории. В  качестве таковой может выступать путь до папки с проектом или путь до  заданной папки. А после начала работы со Spyder к ним добавляется опция  предыдущей текущей рабочей директории (например, при запуске второго  экземпляра  консоли рабочим каталогом может стать последняя рабочая  папка).

Эти опции задаются в трех местах.

Базовые настройки консоли

Базовые настройки консоли устанавливаются при переходе - Tools->Preferences->Current working directory:

Верхняя  часть отвечает за настройки при старте Spyder, а нижняя - при запуске  новых консолей (CTRL+T). Если оставить все как есть, новая консоль в  качестве пути до рабочей директории будет заимствовать последний путь из  предыдущей, соответственно, его смена может привести к неприятным  неожиданностям.

Давайте  загрузим Spyder, выведем путь до рабочей директории, сменим его, затем  запустим новую консоль и выведем ее рабочую папку.

Путь до текущей рабочей директории можно вывести следующим образом:

Затем запускаем файл и изменяем рабочую директорию (почему он изменяется станет ясно ниже, обратите внимание на аргумент wdir):

Как  раз ввиду запуска не с ожидаемой рабочей директорией происходит  типичная ошибка, рассматриваемая в этой статье. Но пока нас не это  интересует. Выведем текущую рабочую директорию:

Как можно заметить она изменилась, соответственно, это повлияет на рабочую директорию следующей консоли:

Из-за  такого "изменчивого" поведения я предпочитаю настройки делать более  предсказуемыми и выставлять по умолчанию директорию текущего проекта:

Базовые настройки запускаемых файлов

На текущую рабочую директорию могут влиять базовые настройки запускаемых файлов. Они задаются в Tools->Preferences->Run (нижняя треть):

Как  демонстрировалось на скриншоте выше, они указываются в параметре wdir при запуске файлов (F5). Соответственно, здесь целесообразно задать те параметры, которые вы намерены использовать для большей части  запускаемых файлов.

Специфические настройки запускаемых файлов

Вышеуказанные настройки могут быть изменены при запуске конкретного файла со специфическими опциями, которые доступны в Run -> Configuration per file...:

Если  хотите изменить специфику запуска конкретного файла, лучше делать это  здесь, не трогая более общие настройки, чтобы поведение вашей программы  оставалось более предсказуемым.

А с какими проблемами настройки Spyder  сталкивались вы?

Еще больше статей можете прочитать на моем канале в Яндекс Дзен.