改变全球范围的os.environ

时间:2014-05-21 06:25:24

标签: python environment-variables

我正在尝试为自己创建一个python包安装程序。我还给了一个选项,通过选择安装python的目录为用户设置环境变量。

我遇到的问题是,每次重新启动程序时都必须进行设置。所以,我做了一些研究和研究。发现its working scope is only within the process

现在没有用户想再次设置它&如果他/她想要安装多个软件包(让我们假设他不知道如何手动设置它)。现在this让我心碎(另外,无法理解创建一个新的环境部分&我如何在我的情况下继续应用它)。

铊; DR:

如何在用户系统上永久设置os.environ

1 个答案:

答案 0 :(得分:1)

好吧,看起来你的方法会将用户与单个解释器绑定,如果他想尝试另一个python版本,它可能是非常重要的。对于您的项目,可能是一个很好的安装页面,其中包含如何设置virtualenv的示例吗?

无论如何,你可以尝试几件事:

将简单配置文件保存在用户的主目录中,并在用户运行已安装脚本(使用系统默认解释器)的任何时候,读取此文件,从那里获取python目录路径,然后使用更新的环境subprocess

或者(对于支持shebang的系统)你也可以像这样创建简单的跑步者:

#!<here goes user defined python directory absolute path>
# -*- coding: utf-8 -*-

import sys
from main_script import main


if __name__ == "__main__":
    sys.exit(main())

希望它会有所帮助。