【问题标题】:os.environ does not return new and exported environment variablesos.environ 不返回新的和导出的环境变量
【发布时间】:2018-07-26 15:37:34
【问题描述】:

我使用export new_v = "mynewvar" 设置了一个新的环境变量 在我的.bash_profile 文件中。我已经运行了source .bash_profile,当我从terminal 运行$ env 时,我可以看到新变量。但是,当我在python 中运行os.environ 时,它不存在。我在IDLEOSX 10.13.1 上运行python 3.6.3。有没有办法导出新的环境变量以便python 能够访问它们?

【问题讨论】:

  • 在 Unix 中,在脚本或编译程序中更改的环境变量只会影响该进程和可能的子进程。父进程和任何不相关的进程都不会受到影响。
  • 我认为导出变量使它们可用于其他进程?有没有办法保存环境变量以便其他进程可以访问它?
  • 导出变量使它们可用于子进程。父进程和任何不相关的进程都不会受到影响。

标签: python macos environment-variables


【解决方案1】:

如果您在 IDLE 中运行 Python,我怀疑您没有从定义了 new_v 的 shell 启动 IDLE。因此,IDLE 不知道变量,Python 也不知道。

如果你在 shell 中执行 python 并输入

os.getenv("new_v")

你会看到你的变量。我不是 Mac 用户,所以我不知道如何在 macOS 中设置 env vars,但这篇帖子 Setting environment variables in OS X? 似乎有答案:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-04
    • 2020-10-25
    • 2015-07-12
    • 1970-01-01
    • 2020-09-04
    • 1970-01-01
    • 2021-09-19
    • 1970-01-01
    相关资源
    最近更新 更多