在具有Python 3.7.3 pipenv虚拟环境的ubuntu 16.04上使用VS Code 1.35.1的情况下,我试图在.env文件中设置环境变量,但是由于某些原因,似乎无法识别该文件。
有人可以帮助我了解如何使(Django)应用访问环境变量,而无需手动运行control.onEvent(EventBusSource.MICROBIT_ID_IO_P0, EventBusValue.MICROBIT_PIN_EVT_RISE, function () {
_lTicks += 1;
_lerrTicks += 1;
if (_lTicks % _partialTurn == 0) {
_lTicks = 0;
_lTurns += .0625;
}
})
。
已采取的步骤:
所以,这就是我正在做的:
1-我为我的项目设置了Python解释器,如下所示:pipenv shell
> ctrl + shift + p
> Python: Select interpreter
2-在项目根目录内创建了一个.env文件:
Python 3.7.3 64-bit ('environment_name': pipenv)
3-确保已安装并启用VS Code Python扩展
4-调整了我的Django设置文件,以从环境变量中获取SECRET_KEY:
# Django
SECRET_KEY="some key here"
DEBUG=True
...
5-从VS Code终端运行Django开发服务器(通过SECRET_KEY = os.getenv('SECRET_KEY')
激活pipenv环境):
ctrl + shift + ~
6-其他设置未更改
我没有更改任何设置,例如(environment-name) user@system-name:~/projects/my-project$ python manage.py runserver
设置。设置保留为默认设置。
我如何知道无法识别.env文件:
以上步骤在VS Code终端中导致以下消息:
python.envFile
如果我在同一VS Code终端中运行...
raise ImproperlyConfigured("The SECRET_KEY setting must not be empty.")
django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.
(在已经激活的环境中,因此再次激活它),然后启动Django dev服务器:pipenv shell
,则服务器可以正常启动。
答案 0 :(得分:0)
您的口译员好像没有使用pipenv环境
1)检查pipenv --where
2)查看是否在settings.json文件中将pythonPath变量设置为位置{pipenv --where} / bin / python {some version}
3)再次运行
答案 1 :(得分:0)
看起来这个问题在vscode-python GitHub上仍然存在。两种解决方案是:a)与您的pipenv激活分开运行.env;或b)遵循here中的步骤。祝你好运!