【发布时间】:2018-12-16 01:15:19
【问题描述】:
我需要为我在 pipenv 中运行的 python 项目设置一些访问令牌环境变量。每次启动 pipenv 时,我都想设置这些环境变量。
我该怎么做?
【问题讨论】:
我需要为我在 pipenv 中运行的 python 项目设置一些访问令牌环境变量。每次启动 pipenv 时,我都想设置这些环境变量。
我该怎么做?
【问题讨论】:
如果你想在每次启动项目时自动加载一些环境变量,你可以在项目的根文件夹,在Pipfile旁边设置一个.env文件。见Automatic Loading of .env。
您可以从正确的文件夹中运行以下命令来创建这个 .env 文件:
echo MY_TOKEN=SuperToKen >.env # create the file and write into
echo MY_VAR=SuperVar >>.env # append to the file
或者只是手动创建它以获得:
MY_TOKEN=SuperToKen
MY_VAR=SuperVar
该文件将自动加载pipenv shell 或pipenv run your_command 并且环境变量将可用。
您可以在代码中访问/检查它们:
print(os.getenv('MY_TOKEN', 'Token Not found'))
不确定其他 IDE,但在 Pycharm 中,您需要插件 Env File 来自动加载它(从 Run/Debug 配置访问 Env File 选项卡)。
您可以在此文件中添加 cmets,前导 #
# My test token
MY_TOKEN=SuperToKen
注意:当然你必须从你的版本控制中排除这个文件(比如 git)。
【讨论】:
pipenv run 抛出错误,但 pipenv shell 工作正常!
pipenv run 期望在您的环境中启动一个命令,例如 pipenv run flask run