【发布时间】:2021-11-03 20:02:26
【问题描述】:
我正在尝试为我的 python 项目在 DigitalOcean droplet 上设置一些环境变量。
我把它们放到~/.profile 文件中。现在看起来像这样:
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
PATH="$HOME/.local/bin:$PATH"
fi
PRODUCTION=1
droplet 重置后,我尝试在 python 脚本中获取 PRODUCTION,但它返回 None。
>>> import os
>>> os.getenv('PRODUCTION')
>>>
我做错了什么?如果不是.profile,我应该使用什么文件来永久设置这些变量?
【问题讨论】:
-
你试过
export PRODUCTION=1吗? -
正如@nic3500 暗示的那样,您还没有将shell 变量导出到环境中。运行
somevar=1创建一个 shell 变量;它不在环境中,对子进程不可见。如果你明确地export它,你只会得到一个环境变量。
标签: linux ubuntu environment-variables ubuntu-20.04 .profile