Я использую WinPython (v3.13.8.0) с USB-накопителя. Моя цель — сделать его на 100% переносимым, гарантируя, что в локальном каталоге C:\Users\Name\ не будут создаваться папки конфигурации (такие как .spyder-py3, .ipython и т. д.).
Настройка:
Я изменил файл WinPython.ini, чтобы перенаправить переменные среды в папку настроек на USB-накопителе:
[env.bat]
SPYDER_CONFDIR = %WINPYDIRBASE%\settings\.spyder-py3
JUPYTER_DATA_DIR = %WINPYDIRBASE%\settings\jupyter_data
[среда]
HOME = %WINPYDIRBASE%\settings
USERPROFILE = %HOME%
TEMP = %HOME%\temp
TMP = %HOME%\temp
Проблема:
Когда я запускаю Spyder, консоль IPython не запускается и выдает следующую обратную трассировку:
Трассировка (последний последний вызов):
Файл "...\spyder\plugins\ipythonconsole\widgets\main_widget.py", строка 1441, в _connect_new_client_to_kernel
Код: Выделить всё
kernel_spec.env = future.result()
Код: Выделить всё
env_vars\["tmp"\] = GetShortPathName(env_vars\["tmp"\])
Наблюдения:
Ошибка сохраняется даже после создания вручную папки \settings\temp на USB-накопителе.
Если я верну USERPROFILE к пути Windows по умолчанию, это работает, но оставляет следы на хост-компьютер (которого я хочу избежать).
Я переместил папку WinPython в корень USB-накопителя (D:\WPy64...), чтобы избежать проблем с длинными путями, но ошибка остается.
Вопрос:
Как заставить Spyder/IPython принять переносимый путь TEMP на USB-накопителе, не вызывая ошибку GetShortPathNameW? Существует ли особый способ, которым WinPython обрабатывает короткие имена на дисках FAT32/exFAT, который может быть причиной этого?
Подробнее здесь: https://stackoverflow.com/questions/798 ... amew-userp
Мобильная версия