簡體   English   中英

VS Code 不使用 pipenv .env 文件

[英]VS Code doesn't use pipenv .env file

在帶有 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 ,服務器將完美啟動。

看起來你的解釋器沒有選擇 pipenv 環境

1) 檢查 pipenv --where

2)查看您的 settings.json 文件中是否將您的 pythonPath 變量設置為位置 {pipenv --where}/bin/python{some version}

3)再次運行

貌似這個問題還在vscode-python GitHub 中打開。 兩種解決方案是:a) 將 .env 與 pipenv 激活分開運行; 或 b) 按照此處的步驟操作。 祝你好運!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM