Как только переменная из os.environ или sys.path была изменена, есть ли способ загрузить исходные значения для os.environ или sys.path, которые видит остальная часть операционной системы.То есть без перезапуска питона.
У меня есть встроенная версия Python 2.7, которая имеет пользовательские значения, но мне нужно загрузить системные значения по умолчанию.
Редактор изображений Gimp имеет версию Python 2.7, встроенную для запуска скриптов.Я пытаюсь использовать подпроцесс внутри Python gimp 2.7 для запуска Python 3.6 для запуска некоторого кода.Я пытаюсь сделать это, потому что я хотел бы сделать плагин, который использует тензор потока на окнах.Было бы здорово использовать нейральный стиль / стиль стилей внутри GIMP с плагином GUI.
Проблема в том, что gimp загружает пользовательские значения для path и pythonpath для встроенного в него python 2.7.Эти значения наследуются подпроцессом, который я использую для запуска Python 3.6.
>>> sys.path
['', 'C:\\Projects\\caffe\\python', 'C:\\Users\\audov\\AppData\\Local\\Programs\\Python\\Python36\\python36.zip', 'C:\\Users\\audov\\AppData\\Local\\Programs\\Python\\Python36\\DLLs', 'C:\\Users\\audov\\AppData\\Local\\Programs\\Python\\Python36\\lib', 'C:\\Users\\audov\\AppData\\Local\\Programs\\Python\\Python36', 'C:\\Users\\audov\\AppData\\Roaming\\Python\\Python36\\site-packages', 'C:\\Users\\audov\\AppData\\Local\\Programs\\Python\\Python36\\lib\\site-packages']
Становится
>>> sys.path
['', 'C:\\Program Files\\GIMP 2\\32\\lib\\gimp\\2.0\\python', 'C:\\Program Files\\GIMP 2\\lib\\gimp\\2.0\\plug-ins\\python-console', 'C:\\Program Files\\GIMP 2\\32\\lib\\python27.zip', 'C:\\Program Files\\GIMP 2\\32\\lib\\python2.7', 'C:\\Program Files\\GIMP 2\\32\\lib\\python2.7\\plat-win32', 'C:\\Program Files\\GIMP 2\\32\\lib\\python2.7\\lib-tk', 'C:\\Program Files\\GIMP 2\\32\\lib\\python2.7\\lib-old', 'C:\\Program Files\\GIMP 2\\32\\lib\\python2.7\\lib-dynload', 'C:\\building\\msys64\\mingw32', 'C:\\Program Files\\GIMP 2\\32\\lib\\python2.7\\site-packages', 'C:\\Program Files\\GIMP 2\\32\\lib\\python2.7\\site-packages\\gtk-2.0']
Как мне загрузить стандартные значения для тех переменных окружения, которые остальныеоперационная система видит.
import os, sys
os.environ
sys.path
Будет отображать исходные значения для переменной, которые не имеют ничего общего с питоном.А потом изменили значения для python и gimp.
Существует ли способ загрузки неизмененных значений среды общим способом.
Я использую Windows 10.
Я знаю, что могу добавить к пути или заменить переменную пути значениями, которые я заранее скопировал.У меня также может быть строка, которую я использую для установки env = foo в подпроцессе.
Но это не очень хорошее решение.Я хотел бы, чтобы это потенциально работало на других системах.
Это сложный вопрос, чтобы найти решение, потому что оно запутано в терминах поиска, чтобы узнать, как устанавливать переменные среды или читать их нормально.
РЕДАКТИРОВАТЬ Запуск нового подпроцесса с переменными среды по умолчанию
Этот вопрос сталкивается с той же проблемой и имеет частичное решение.Как они говорят: «Я не собираюсь передавать переменную окружения подпроцессу; я ищу подпроцесс, чтобы вернуть среду по умолчанию».
К сожалению, этого все еще недостаточно, чтобы запустить тензорный потокв новом процессе.Я буду продолжать пытаться.