【发布时间】:2018-11-05 02:01:55
【问题描述】:
我正在使用pyenv。使用以下命令创建环境:
pyenv install 3.6.0
pyenv virtualenv 3.6.0 foo
pyenv local foo
python my_app.py
在应用程序中我想用这个命令加载一些环境变量:
SOME_VARIABLE = environ.get('MY_ENV_VAR', None)
问题是,虽然MY_ENV_VAR 设置为export MY_ENV_VAR=test(我可以使用echo $MY_ENV_VAR 显示其内容),但python 代码读取没有任何值。
那么如何才能正确地做到这一点呢?
【问题讨论】:
-
你能比较一下
echo $MY_ENV_VAR和python -c "import os; print(os.environ.get('MY_ENV_VAR'))";都打印“测试”吗? -
@jasdhfiu-asef-aesf-asef-a-sgaa 不,我没有,应该怎么办?我不使用 pipenv。你不是说
pyenv shell吗?这给出了“没有配置特定于 shell 的版本”。 @phd 回显变量返回其真实内容,在 python 中将其打印出来,就像这样打印“None”。
标签: python linux virtualenv pyenv