Python 如何在pipenv中设置环境变量?

Python 如何在pipenv中设置环境变量?,python,pipenv,Python,Pipenv,我需要为我正在pipenv中运行的python项目设置一些访问令牌环境变量。每次启动pipenv时,我都要设置这些环境变量 如何执行此操作?如果希望在每次启动项目时自动加载一些环境变量,可以在项目的根文件夹中,在Pipfile旁边设置一个.env文件。看 可以从正确的文件夹运行以下命令来创建此.env文件: echo MY_TOKEN=SuperToKen >.env # create the file and write into echo MY_VAR=SuperVar >&g

我需要为我正在pipenv中运行的python项目设置一些访问令牌环境变量。每次启动pipenv时,我都要设置这些环境变量


如何执行此操作?

如果希望在每次启动项目时自动加载一些环境变量,可以在项目的根文件夹中,在
Pipfile
旁边设置一个
.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运行您的_命令
自动加载,环境变量将可用

您可以通过以下方式在代码中访问/检查它们:

print(os.getenv('MY_TOKEN', 'Token Not found'))
不确定其他IDE,但在Pycharm中,您需要插件Env文件来自动加载它(从运行/调试配置访问Env文件选项卡)


您可以在该文件中添加带有前导的
#



注意:当然,您必须从版本控制中排除此文件(如git)。

只是好奇:退出pipenv管理的环境时,是否可以取消设置环境变量?作为记录,我使用VirtualEnvRapper中的postactivate/postdeactivate来实现这一点。@GeorgesMartin不确定您到底需要什么,当您退出虚拟环境时,变量不再可用确实。。。我忘了pipenv启动了一个新的shell-virtualenv不会
pipenv run
抛出错误,但是
pipenv shell
工作正常@bro grammer,
pipenv run
希望在您的环境中启动一个命令,如
pipenv run flask run
# My test token
MY_TOKEN=SuperToKen