2016-07-15 13 views
5

Исходя из R, используя setwd, чтобы изменить каталог, это большая проблема против воспроизводимости, потому что другие не имеют той же структуры каталогов, что и моя. Следовательно, рекомендуется использовать относительный путь от местоположения сценария.Задайте рабочий каталог в Python/Spyder так, чтобы он был воспроизводимым

IDE немного усложняют это, потому что они устанавливают свой собственный рабочий каталог. В Rstudio я могу легко обойти эту проблему с проектами Rstudio, установив каталог проекта в папку моего сценария.

С Python и Spyder, похоже, нет никакого решения. Spyder не имеет такой функции, как проект Rstudio. Setting the directory to the script's location не работает при интерактивном анализе (с __file__ недоступен).

Что делать, чтобы рабочий каталог в Python/Spyder воспроизводился?

ответ

2

Оказывается, они считают, что это особенность в Spyder на основе этого GitHub билет, но он все еще ждет реализации по состоянию на середину мая:

Мы могли бы добавить опцию в диалоговом окне Run автоматически установите рабочий каталог на тот, который запускается вашим скриптом.

Однако кому-то придется его реализовать. Мы довольно заняты с другими вещами на данный момент, извините.

https://github.com/spyder-ide/spyder/issues/3154

@ ccordoba12 ccordoba12 добавил это в лист желаний вехе 14 мая

3

В промежутке времени, вы можете использовать os.chdir

import os 
os.chdir('C:\Users\me\Documents') 
2

Для это автоматически, поставьте это в начале вашего скрипта:

from os import chdir, getcwd 
wd=getcwd() 
chdir(wd) 
0

Ну, есть много вещей, которые вы можете попробовать! 1. Измените каталог на текущий каталог на панели инструментов. 2. Измените глобальный каталог на текущий каталог в разделе «Настройки»> «Глобальный рабочий каталог». Нажмите переключатель «Текущий каталог файлов».

Надеюсь, это поможет!