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