То, что он говорит. Я могу установить переменные среды для каждого пользователя, либо из Windows> введите «Путь», либо используя RegEdit, или даже из сценария Python.Можно ли перезагрузить (Windows) переменные среды?
Но если я запустил приложение (например, из Launchy или запустил его из Chrome), он не получит новые переменные. Я должен начать новый cmd
или проводник Windows (я думаю), чтобы получить новые значения.
Теперь, очевидно, я могу установить их для каждого использования, но я хочу установить их глобально для своей учетной записи, а также для любого процесса, который я использую в то время. Это возможно? И возможно ли (или проще) сделать из сценария Python?
Взгляните на [этот вопрос] (http://stackoverflow.com/questions/205064/is-there-a-way-to-change-another-processs-environment-variables). Речь идет о Unix, но есть комментарий, говорящий, что он работает в Windows с cygwin. Если это так, вы можете сделать это с помощью любого отладчика. – rodrigo
@rodrigo Это очень мило, но похоже, что он работает только с процессами, запущенными с cygwin. В соответствии с документацией Windows, которую я видел, они не позволяют вам управлять другими процессами, а только передавать сообщения, которые другое приложение затем отвечает за прослушивание/ответ. Ба! –
Один из комментариев говорит: «Он даже работает в Windows с использованием cygwin, для процессов, которые не скомпилированы с помощью cygwin!». Я предполагаю, что вы можете сделать то, что хотите _simply_, запустив удаленный поток, который вызывает 'putenv()' (или 'SetEnvironmentVariable()') с соответствующими аргументами. И это именно то, что делает отладчик. Вы можете мыслимо написать инструмент, который делает это, но не в Python! – rodrigo