gpt4 book ai didi

python - 如何使用python脚本在posix(unix/linux)机器中永久设置环境变量

转载 作者:太空宇宙 更新时间:2023-11-04 09:34:29 24 4
gpt4 key购买 nike

我正在尝试永久设置一个环境变量。但暂时它正在工作。

如果我在程序下面运行,我会得到可变路径。关闭它并打开新终端以使用命令 printenv LD_LIBRARY_PATH 查找变量路径后,不会打印任何内容。

#!/usr/bin/python


import os
import subprocess

def setenv_var():
env_var = "LD_LIBRARY_PATH"
env_path = "/usr/local/lib"`enter code here`
os.environ[env_var] = env_path
process = subprocess.Popen('printenv ' + env_var, stdout=subprocess.PIPE, shell=True)
result = process.communicate()[0]
return result

if __name__ == '__main__':
print setenv_var()

请帮帮我。

最佳答案

这是我用来设置环境变量的:

def setenv_var(env_file, set_this_env=True):
env_var = "LD_LIBRARY_PATH"
env_path = "/usr/local/lib"`enter code here`
# set environments opened later by appending to `source`-d file
with open(env_file, 'a') as f:
f.write(os.linesep + ("%s=%s" % (env_var, env_path)))
if set_this_end:
# set this environment
os.environ[env_var] = env_path

现在您只需选择设置它的位置,即函数中的第一个参数。我推荐特定配置文件 ~/.profile 或者如果你使用的是很常见的 bash ~/.bashrc

您也可以通过使用类似 /etc/environment 的文件对其进行全局设置,但在运行此脚本时需要具有权限(sudo python script.py).

请记住,环境是从父进程继承的,您不能让子进程设置父进程的环境。

关于python - 如何使用python脚本在posix(unix/linux)机器中永久设置环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28109295/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com