gpt4 book ai didi

python - 通过python脚本设置shell环境变量

转载 作者:行者123 更新时间:2023-11-29 08:58:22 25 4
gpt4 key购买 nike

我有一些仪器需要环境变量,我想从 python 代码自动设置它。所以我尝试了几种方法来实现它,但都没有成功。以下是一些示例:

  1. 我在我的 python 脚本中插入以下代码

     import os
    os.system("export ENV_VAR=/some_path")
  2. 我创建了 bash 脚本 (env.sh) 并从 python 运行它:

     #!/bin/bash
    export ENV_VAR=some_path

    #call it from python
    os.system("source env.sh")
  3. 我还尝试了 os.putenv()os.environ*["ENV_VAR"] = "some_path"

Is it possible to set(export) environment variable using python, i.ewithout directly exporting it to shell?

最佳答案

设置环境变量仅为当前进程和它启动的任何子进程设置它。因此,使用 os.system 将只为正在运行的 shell 设置它以执行您提供的命令。当该命令完成时,shell 消失了,环境变量也消失了。使用 os.putenvos.environ 设置它具有类似的效果;为 Python 进程及其任何子进程设置环境变量。

我假设您正在尝试为从中或全局启动脚本的 shell 设置这些变量。这是行不通的,因为 shell(或其他进程)不是您在其中设置变量的 Python 脚本的子脚本。

在 shell 脚本中设置变量会更好。如果您随后 source 该脚本(以便它在 shell 的当前实例中运行,而不是在子 shell 中运行),那么它们将在脚本结束后保持设置。

关于python - 通过python脚本设置shell环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38982640/

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