【问题标题】:VS Code doesn't use pipenv .env fileVS Code 不使用 pipenv .env 文件
【发布时间】:2019-11-20 01:08:47
【问题描述】:

在具有 Python 3.7.3 pipenv 虚拟环境的 ubuntu 16.04 上使用 VS Code 1.35.1,我试图在 .env 文件中设置环境变量,但由于某种原因,该文件似乎无法被识别。

谁能帮助我了解我可以做些什么来让我的 (Django) 应用访问环境变量,而无需手动运行 pipenv shell

采取的步骤:
所以,这就是我正在做的事情:

1 - 我为我的项目设置了 Python 解释器,如下所示:ctrl + shift + p > Python: Select interpreter > Python 3.7.3 64-bit ('environment_name': pipenv)

2 - 在项目根目录中创建了一个 .env 文件:

# Django
SECRET_KEY="some key here"
DEBUG=True

...

3 - 确保已安装并启用 VS Code Python 扩展

4 - 调整了我的 Django 设置文件以从环境变量中获取 SECRET_KEY:

SECRET_KEY = os.getenv('SECRET_KEY')

5 - 从 VS Code 终端运行 Django 开发服务器(通过ctrl + shift + ~ 激活 pipenv 环境):

(environment-name) user@system-name:~/projects/my-project$ python manage.py runserver

6 - 未更改其他设置

我没有更改任何设置,例如 python.envFile 设置。设置保留为默认值。

我怎么知道 .env 文件无法识别:

上述步骤会在 VS Code 终端中产生以下消息:

...
    raise ImproperlyConfigured("The SECRET_KEY setting must not be empty.")
django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.

如果我在同一个 VS Code 终端中运行pipenv shell(使用已经激活的环境,因此再次激活它),并启动 Django 开发服务器:python manage.py runserver,服务器会完美启动。

【问题讨论】:

    标签: django visual-studio-code environment-variables pipenv


    【解决方案1】:

    您的解释器似乎没有使用 pipenv 环境

    1) 检查 pipenv --where

    2) 查看 settings.json 文件中是否将 pythonPath 变量设置为位置 {pipenv --where}/bin/python{some version}

    3) 再次运行

    【讨论】:

      【解决方案2】:

      看起来这个问题在vscode-python GitHub 中仍然存在。两种解决方案是:a)运行 .env 与您的 pipenv 激活分开;或 b) 按照here 中的步骤操作。祝你好运!

      【讨论】:

        猜你喜欢
        • 2019-05-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-22
        • 2018-04-23
        • 1970-01-01
        • 2021-11-11
        • 2020-01-26
        相关资源
        最近更新 更多