Aby ustawić i przywrócić zmienną środowiskową w wierszu polecenia systemu Windows' wymaga podejścia jest niestety "nieco torturous" ...:
SET SAVE=%PYTHONPATH%
SET PYTHONPATH=.
python scripts/doit.py
SET PYTHONPATH=%SAVE%
Mogłabyś użyj trochę pomocniczego skryptu w Pythonie, aby uczynić go mniej bolesnym, np
import os
import sys
import subprocess
for i, a in enumerate(sys.argv[1:]):
if '=' not in a: break
name, _, value = a.partition('=')
os.environ[name] = value
sys.exit(subprocess.call(sys.argv[i:]))
nazywać jak np
python withenv.py PYTHONPATH=. python scripts/doit.py
(mam zakodowane go tak, że pracuje dla żadnego podproces, a nie tylko skryptu Python - jeśli tylko dbają o skryptów Pythona możesz pominąć drugi python w calu i wstawić "python" w sys.argv[i-1]
w kodzie, a następnie użyć sys.argv[i-1:]
jako argumentu dla podprocesu.call).
Hm. Trochę więcej niż to, czego potrzebuję, ale dzięki! Spróbuję tego jutro. – Santa