我在一个flask项目中使用dotenv,并且也在一个简化的测试环境中对其进行了测试。我尝试过卸载和重新安装etc,但是python找不到dotenv模块。在
启动flask时,它会看到一些.env文件,并告诉我安装dotenv,即使它已经安装,我可以在flasks系统库中看到它。在
当我运行代码时,我得到一个未找到模块的错误,说它找不到dotenv。代码是
import os
from dotenv import load_dotenv
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
错误是
我很感激你的建议。在
结果发现我的代码有很多问题,我将在这里简要列出,以防其他人遇到同样的问题。在
第一个问题
作为一个相当新的人,我不太清楚我安装的python生态系统是如何连接在一起的。我已经安装了Anaconda和Spyder作为我的开发环境。不过,我一直在跟踪一个使用pip作为虚拟环境安装程序的Flask教程。我使用的命令提示符是Anaconda附带的。在我得到dotenv问题之前,一切似乎都在某种程度上正常工作,这实际上是整个相当大的教程中的一个小细节。在
为了修复dotenv,我尝试用pip进行各种安装/卸载,我可以看到dotenv已经安装了!那没用。所做的工作是在命令提示符下使用conda安装dotenv,但我必须明确指出从何处获取dotenv。有效的命令是
conda install -c conda-forge python-dotenv
第二个问题
一旦我安装了dotenv,我就无法从
.env
文件中设置环境变量。本教程使用os.path.dirname(__file__)
获取当前工作目录。结果发现__file__
总是小写,但我的目录中有一些大写。因此找不到.env
文件的绝对路径!我通过使用内置的pathlib模块修复了这个问题,该模块考虑大小写。这里有一些代码。在有可能还安装了“dotenv”包。在
在虚拟环境中,请尝试:
此外,您可能在系统级别(虚拟环境之外)安装了dotenv。如果是,您可以尝试卸载它。在
如果这不是问题,那么请公布您的代码和由此产生的错误。在
相关问题 更多 >
编程相关推荐