Ich verwende WinPython (v3.13.8.0) von einem USB-Laufwerk. Mein Ziel ist es, es zu 100 % portierbar zu machen und sicherzustellen, dass keine Konfigurationsordner (wie .spyder-py3, .ipython usw.) im lokalen Verzeichnis C:\Benutzer\Name\ erstellt werden.
Setup
Ich habe die Datei WinPython.ini geändert, um Umgebungsvariablen in einen Einstellungsordner auf dem USB umzuleiten:
Code: Select all
[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
Wenn ich Spyder starte, startet die IPython-Konsole nicht und gibt den folgenden Traceback aus:
Code: Select all
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.')
Der Fehler bleibt bestehen, auch nachdem der Ordner \settings\temp manuell auf dem USB-Stick erstellt wurde.
Wenn ich USERPROFILE auf den Standard-Windows-Pfad zurücksetze, funktioniert es, hinterlässt aber Spuren auf dem Host-PC (was ich vermeiden möchte).
Ich habe den WinPython-Ordner in den verschoben Stammverzeichnis des USB (
Code: Select all
D:\WPy64...Frage
Wie kann ich Spyder/IPython zwingen, einen portablen TEMP-Pfad auf einem USB-Laufwerk zu akzeptieren, ohne den GetShortPathNameW-Fehler auszulösen? Gibt es eine bestimmte Art und Weise, wie WinPython Kurznamen auf FAT32/exFAT-Laufwerken verarbeitet, die dies verursachen könnte?
Mobile version