在windows中设置一个新的变量=值我们可以简单地将它添加到环境变量中。但是,在linux中,看起来有点难。这是我遵循的程序:
打开终端并写入:
vim ~/.bashrc
然后按键盘“i”,然后定义变量如下:
Test_MyVariable='Tessst'
export Test_MyVariable
PATH=$PATH:Test_MyVariable/bin
然后:wq
在 $echo 之后,我看到了变量:
echo $Test_MyVariable
它返回:
测试
但在我崇高的文本中,它返回无。
import os
new_v= os.environ.get('Test_MyVariable')
print(new_v)
没有任何
我什至检查了所有可用的 os.environ 但我找不到我的Test_MyVariable
. 此外,我还尝试使用~/.bash_profile
and~/.profile
并向它们添加变量,但结果相同。请告诉我我做错了什么?
当您在 中定义变量时
~/.bashrc
,该变量将在~/.bashrc
“来源”(读取)后立即出现。这只发生在您启动一个新的 shell 时(例如,当您打开一个新终端时)。因此,如果您将新行添加到
.bashrc
文件中,您将需要打开一个新终端并在那里运行您的 python 脚本。或者,您可以运行source ~/.bashrc
以将其源到当前 shell。现在,您提到了 sublime,但并没有真正解释为什么这是相关的,所以我假设您正在以某种方式在 sublime 编辑器中运行您的 python 脚本。据推测,它有某种外壳模拟器。如果是这样的话,那么定义变量的方式和位置的细节将取决于 sublime 如何设置它的 shell。尝试以下操作:
只需关闭 sublime 窗口,然后再次打开它,看看它现在是否重新读取了您的
.bashrc
.Sublime 很可能根本不阅读
.bashrc
。如果您从某个 GUI 按钮运行 sublime,您可能需要注销并重新登录,然后它才能重新读取变量。尝试打开一个新终端并运行
sublime
(或从命令行启动 sublime 的任何命令名称)。那么它看到变量了吗?