Python 为什么我不能导入load_dotenv?
我试图用python编写一个简单的discord bot,但它说我无法导入load_dotenv,而是给了我以下错误:Python 为什么我不能导入load_dotenv?,python,discord.py,Python,Discord.py,我试图用python编写一个简单的discord bot,但它说我无法导入load_dotenv,而是给了我以下错误: Traceback (most recent call last): File "/home/pi/Rotomi/Rotomi.py", line 5, in <module> from dotenv import load_dotenv ImportError: cannot import name 'load_dotenv' from 'dotenv
Traceback (most recent call last):
File "/home/pi/Rotomi/Rotomi.py", line 5, in <module>
from dotenv import load_dotenv
ImportError: cannot import name 'load_dotenv' from 'dotenv' (/home/pi/.local/lib/python3.7/site-packages/dotenv/__init__.py)
回溯(最近一次呼叫最后一次):
文件“/home/pi/Rotomi/Rotomi.py”,第5行,在
从dotenv导入加载\u dotenv
导入错误:无法从“dotenv”导入名称“load\u dotenv”(/home/pi/.local/lib/python3.7/site packages/dotenv/\uu init\uuu.py)
以下是我当前的代码供参考:欢迎使用StackOverflow 希望这个答案对你有帮助。在Python中,每当解释器无法在其站点包中找到请求模块时,就会发生导入错误。通常,出现此错误的原因如下
pip
或conda
安装,如果使用anaconda软件包分发pip install MYPACKAGE_NAME==1.2.3
根据这些官方文件, 您可以导入Dotenv而不是加载\u Dotenv
>>> from dotenv import Dotenv
>>> dotenv = Dotenv('/path/to/.env')
>>> print dotenv
{"FOO": "bar", "Bar": "baz"}
我来到这里是因为我面临同样的问题。我的代码是根据 导致此错误的原因:
Traceback (most recent call last):
File "/home/pi/Rotomi/Rotomi.py", line 5, in <module>
from dotenv import load_dotenv
ImportError: cannot import name 'load_dotenv' from 'dotenv' (/home/pi/.local/lib/python3.7/site-packages/dotenv/__init__.py)
***导入错误:无法从“dotenv”导入名称“load_dotenv”(/usr/local/lib/python3.7/site packages/dotenv.py)
进口本身起了作用:
(Pdb) import dotenv
但该建议没有:
(Pdb) from dotenv import Dotenv
*** ImportError: cannot import name 'Dotenv' from 'dotenv' (/usr/local/lib/python3.7/site-packages/dotenv.py)
显然,在我的例子中,我还必须完成另一个安装:pip3.7安装python dotenv--user
。
但是,从dotenv导入dotenv
将不会运行。本教程正确地说明了:
from dotenv import load_dotenv
我认为这可能是Python 2/3转换错误。我不知道这是否还需要解决,但我发现这对我来说很有效:
from dotenv import dotenv_values
temp = dotenv_values(".env")
TOKEN = temp["DISCORD_TOKEN"]
如果以后不使用它,为什么还要导入它?有两个模块
pip install dotenv
和pip install python dotenv
(它们具有load\u dotenv
)。也许你安装了错误的模块啊,可能就是这样。非常感谢。这里有dotenv
、dotenv-python
和python-dotenv
(以及其他一些)。已加载\u dotenv@furas yeesh。。。这一系列听起来已经成熟,可以进行排版攻击了。