我在〜/ .bashrc文件中添加了一个环境变量写入这两行
var="stuff.."
export var
在普通终端中使用python解释器这两行代码工作
import os
print(os.environ['var'])
但是在一个blender python控制台中它会生成一个KeyError,所以打印os.environ列表我可以看到没有一个以'var'为键的项目
所以我认为这是unix系统环境设置的问题。 任何人都可以帮助我解释如何为其他进程导出环境变量?谢谢,对不起英语
答案 0 :(得分:2)
启动shell时会读取.bachrc
文件(以及类似.cshrc
),类似于启动GUI桌面时,shell rc文件在启动时会被读取那时的变量是传递到任何GUI应用程序的环境的一部分,运行时所做的更改在启动新应用程序时不会被读入。您可以find ways of setting environment variables使用不同的桌面。
将环境变量传递到blender的一种方法是从终端窗口启动它。打开终端时将读取rc文件,也可以在启动blender之前手动设置环境变量。
为blender设置环境变量的另一种方法是从脚本启动它,这可能是一个名为myblender
的脚本,可以在$PATH
中找到,也可以命名为blender
如果它将在真正的搅拌机之前找到。在此脚本中,您可以在启动blender之前设置变量,并且在运行它时任何更改都将生效。
#!/bin/bash
var="stuff.."
export var
exec /usr/local/bin/blender "$@"
答案 1 :(得分:1)
更新〜/ .bashrc后,您必须在启动source ~/.bashrc
的终端中blender
或注销并重新登录系统,然后变量应该在环境中。
如果您需要获取可能可用或不可用的环境变量,您还可以执行os.getenv('var', 'default value')