标签: python-dotenv

导入“dotenv”无法解决

我正在用 python 编写一个程序,计划将其托管在 github 上。我有一个.env包含 api 令牌的文件。我尝试将其导入到我的代码中,如下所示:

首先,我通过在命令提示符中python-dotenv键入来安装该库。当我输入时显示pip install python-dotenvpython-dotenvpip list

然后在我的代码中:

import os
from dotenv import load_dotenv

load_dotenv()

example = os.getenv('TOKEN')
Run Code Online (Sandbox Code Playgroud)

from dotenv import load_dotenv给出错误Import "dotenv" could not be resolved Pylancereport (MissingImports),我的代码将无法运行。我做错了什么吗?我该如何修复它?

python python-dotenv

13
推荐指数
1
解决办法
3万
查看次数

如何在 python dot env 文件中定义列表?

在 Fast API 文档中建议使用 .env 来加载配置。只是据我所知它只支持字符串。

from fastapi import FastAPI
from pydantic import BaseSettings


class Settings(BaseSettings):
    api_tokens = []

    class Config:
        env_file = ".env"


settings = Settings()
app = FastAPI()

Run Code Online (Sandbox Code Playgroud)

我通常每隔几个月更改一次 API 令牌,将新的令牌添加到列表中,并在一段时间后删除旧的令牌。这为用户提供了足够的时间升级到最新版本而不会造成任何中断。同时,两个 API 令牌都将在一段时间内有效。

但我无法在文件中定义列表.env

API_TOKENS = abc123,abc321
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

更新:

这实际上是可能的。下面的答案是正确的,但是我仍然必须像这样更改类型:

class Settings(BaseSettings):
    api_tokens: list
Run Code Online (Sandbox Code Playgroud)

python pydantic fastapi python-dotenv

10
推荐指数
1
解决办法
1万
查看次数

Google Cloud Run 不加载 .env 文件

我花了最近几天的时间试图找出我做错了什么,但我仍然无法弄清楚,因为我能够flask run使用docker-compose up --build. 源代码在这里

我的问题是我的 Cloud Run 部署成功,但单击URL时服务不可用。我检查了日志,似乎我的环境变量没有正确加载:

line 7, in <module> from web_messaging.blueprints.user import user File 
"/web_messaging/web_messaging/blueprints/user/__init__.py", line 1, in <module> from 
web_messaging.blueprints.user.views import user File 
"/web_messaging/web_messaging/blueprints/user/views.py", line 3, in <module> from 
web_messaging.extensions import mongo, login_manager, c, bc File 
"/web_messaging/web_messaging/extensions.py", line 18, in <module> twilio_client = Client(TWILIO_SID,
TWILIO_TOKEN) File "/usr/local/lib/python3.9/site-packages/twilio/rest/__init__.py", line 54, in __init__
raise TwilioException("Credentials are required to create a TwilioClient") 
twilio.base.exceptions.TwilioException: Credentials are required to create a TwilioClient    
Run Code Online (Sandbox Code Playgroud)

我有一个config/.env …

python docker docker-compose google-cloud-run python-dotenv

6
推荐指数
1
解决办法
632
查看次数

如何修复安装 dotenv 和 uvloop 时的错误

我正在尝试在 python 中使用 pip 安装几个模块,特别是 dotenv但出现错误

\n

我已尝试更新 pip 版本并更新 setuptool 但问题仍然存在。

\n

我尝试使用 pip 安装dotenv,它显示安装消息几分钟,然后显示错误而不是安装它。这是我收到的错误的几行

\n
error: subprocess-exited-with-error\n\n  \xc3\x97 python setup.py egg_info did not run successfully.\n  \xe2\x94\x82 exit code: 1\n  \xe2\x95\xb0\xe2\x94\x80> [67 lines of output] \n
Run Code Online (Sandbox Code Playgroud)\n
Traceback (most recent call last):\n        File "C:\\users\\rajj\\appdata\\local\\programs\\python\\python38-32\\lib\\site-packages\\setuptools\\installer.py", line 82, in fetch_build_egg\n          subprocess.check_call(cmd)\n        File "C:\\users\\rajj\\appdata\\local\\programs\\python\\python38-32\\lib\\subprocess.py", line 364, in check_call\n          raise CalledProcessError(retcode, cmd)\n      subprocess.CalledProcessError: Command '['C:\\\\users\\\\rajj\\\\appdata\\\\local\\\\programs\\\\python\\\\python38-32\\\\python.exe', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', 'C:\\\\Users\\\\Public\\\\Documents\\\\Wondershare\\\\CreatorTemp\\\\tmpz17tfqwd', '--quiet', 'distribute']' returned non-zero exit status 1.\n …
Run Code Online (Sandbox Code Playgroud)

python pip python-dotenv

3
推荐指数
1
解决办法
3460
查看次数