| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Python: Общие вопросы > добавить переменное окружение из python |
| Автор: Wuffur 29.8.2011, 20:46 |
| Собственно, как добавить переменную окружения, и что добавляет, а то sys.path.append добавляет не в переменную окружения path, а не знаю куда. Может есть какая-то команда exec(), только я не знаю, чтобы добавить вручную. Или еще проще. А то иногда еще приходится добавлять ссылки на слинкованные библиотеки(.so), то есть выходить из питона и заново входить. Точно os.putenv(), правда ничего не случается. Для выполнения команд нашел модуль subprocess функция call. А добавление sys.path.append - это добавления переменных окружения python`a, вроде. Может в винде python`у нужны права администратора, чтобы добавлять переменные окружения? |
| Автор: Backward 30.8.2011, 01:23 |
| sys.path - это список папок, в которых происходит поиск модулей и пакетов Python (т.е. когда в своем скрипте Вы напишите import чего_то_там, то поиск этого самого чего_то_там будет последовательно выполняться сначала в текущей папке, а затем в папках входящих в sys.path) Для доступа к переменным окружения можно воспользоваться os.environ |
| Автор: Dagger 30.8.2011, 02:03 | ||
в общем по полочкам:
|
| Автор: Wuffur 30.8.2011, 11:26 | ||||||||||||||
У этой строчки кода
Как и у
такая ошибка:
ее нет, если написать shell=True:
но в переменных окружениях ничего не изменяется. и еще, нужно ли убивать процесс, а то Popen.kill не передает аргументов:
|
| Автор: Wuffur 31.8.2011, 22:38 | ||||
Нашел решение в винде:
Если будет работать в linux`e, то тему закрою. спасибо !!! os.environ - это большой словарь, но тип у него не dict, а если взять type(os.environ) получится instance. Посмотрел внутрь, называется userdict, видимо он наследуется от словаря и к нему добавлены еще какие-то функции. Там написано, что UserDict — Class wrapper for dictionary objects(класс обертка для объектов словарей). (последний багфикс в нем был 5 часов назад можно еще
|
| Автор: Wuffur 1.9.2011, 09:18 |
| Работает! |