首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我已经安装了python-dotenv,但是python找不到它

我已经安装了python-dotenv,但是python找不到它
EN

Stack Overflow用户
提问于 2019-11-20 06:09:21
回答 3查看 21.1K关注 0票数 5

我在一个flask项目中使用dotenv,还在一个简化的测试环境中对其进行了测试。我尝试过卸载和重装等,但是python找不到dotenv模块。

当启动flask时,它看到有一些.env文件,并告诉我安装dotenv,尽管它已经安装,而且我可以在flask系统库中看到它。

当我运行代码时,我得到了一个模块没有找到的错误,告诉我它找不到dotenv。代码是

代码语言:javascript
复制
import os
from dotenv import load_dotenv
from flask import Flask
from flask_sqlalchemy import SQLAlchemy

错误是

感激地接受任何建议。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-11-20 07:36:59

您可能还安装了"dotenv“包。

在您的虚拟环境中,尝试:

代码语言:javascript
复制
pip uninstall dotenv
pip uninstall python-dotenv
pip install python-dotenv

此外,您还可以在系统级别(在虚拟环境之外)安装dotenv。如果是,您可以尝试卸载它。

如果这不是问题所在,请发布您的代码和由此产生的错误。

票数 13
EN

Stack Overflow用户

发布于 2019-12-09 09:19:47

事实证明,我的代码中存在许多问题,我将在这里简要列出这些问题,以防其他人遇到同样的问题。

第一个问题

作为一个相当新的人,我真的不太清楚我安装的python生态系统是如何连接在一起的。我已经安装了Anaconda和Spyder作为我的开发环境。然而,我一直在遵循一个Flask教程,该教程使用pip作为虚拟环境的安装程序。我使用的命令提示符是Anaconda附带的命令提示符。在我遇到dotenv问题之前,一切似乎都运行得很好,这实际上是整个教程中的一个很小的细节。

为了修复dotenv,我尝试使用pip进行各种安装/卸载,我可以看到dotenv已经安装了!这不管用。真正起作用的是在我的命令提示符中安装dotenv和conda,但我必须明确说明从哪里获取dotenv。有效的命令是

conda install -c conda-forge python-dotenv

第二个问题

一旦安装了dotenv,我就无法从.env文件中设置环境变量。本教程使用os.path.dirname(__file__)获取当前工作目录。原来__file__总是小写,但我的目录中有一些大写字母。因此,找不到.env文件的绝对路径!我通过使用支持大小写的内置pathlib模块修复了这个问题。下面是一些代码。

代码语言:javascript
复制
import os
from pathlib import Path
from dotenv import load_dotenv

# Get the base directory
basepath = Path()
basedir = str(basepath.cwd())
# Load the environment variables
envars = basepath.cwd() / '.env'
load_dotenv(envars)
# Read an environment variable.
SECRET_KEY = os.getenv('SECRET_KEY')
票数 6
EN

Stack Overflow用户

发布于 2022-01-18 16:32:22

我也有类似的问题。在此之前,我按照以下命令运行Flask应用程序:

代码语言:javascript
复制
flask run -p 3000

我从here那里得到了建议。

代码语言:javascript
复制
python -m flask run [OPTIONS]

示例:

代码语言:javascript
复制
python -m flask run -p 3000

这对我很管用。谢谢。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58943578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档