lavalink discord.py bot的问题

2024-06-15 22:51:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试在我的bot上实现一个基于https://github.com/stuyy/Lavalink-Discordpy-Examplelavalinkdicord.py的音乐bot。在heroku上托管之前,我试图在我的计算机上运行它,但出现以下错误:


Ignoring exception in on_ready
Traceback (most recent call last):
  File "C:\Users\grmap\AppData\Local\Programs\Python\Python37\lib\site-packages\discord\ext\commands\bot.py", line 607, in _load_from_module_spec
    spec.loader.exec_module(lib)
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "C:\Users\grmap\Desktop\discor-bot_py3.6\cogs\music.py", line 2, in <module>     
    import lavalink
ModuleNotFoundError: No module named 'lavalink'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\grmap\AppData\Local\Programs\Python\Python37\lib\site-packages\discord\client.py", line 312, in _run_event
    await coro(*args, **kwargs)
  File "index.py", line 95, in on_ready
    bot.load_extension('cogs.music')
  File "C:\Users\grmap\AppData\Local\Programs\Python\Python37\lib\site-packages\discord\ext\commands\bot.py", line 664, in load_extension
    self._load_from_module_spec(spec, name)
  File "C:\Users\grmap\AppData\Local\Programs\Python\Python37\lib\site-packages\discord\ext\commands\bot.py", line 610, in _load_from_module_spec
    raise errors.ExtensionFailed(key, e) from e
discord.ext.commands.errors.ExtensionFailed: Extension 'cogs.music' raised an error: ModuleNotFoundError: No module named 'lavalink'

这些是我项目中的文件,bot使用的是python 3.6.12。我正在使用Anaconda在Windows 10上创建pipenv

Files on my project

以下是显示pip冻结的内容:

aiohttp==3.6.2
appdirs==1.4.3
async-timeout==3.0.1
attrs==20.2.0
certifi==2020.6.20
cffi==1.14.3
chardet==3.0.4
discord.py==1.5.0
distlib==0.3.0
filelock==3.0.12
idna==2.10
idna-ssl==1.1.0
importlib-metadata==1.5.0
importlib-resources==1.3.1
lavalink==3.1.2
multidict==4.7.6
pipenv==2018.11.26
pycparser==2.20
PyNaCl==1.3.0
six==1.14.0
typing-extensions==3.7.4.3
virtualenv==20.0.10
virtualenv-clone==0.5.3
wincertstore==0.2
yarl==1.6.0
zipp==3.1.0

我已经在我的电脑上安装了lavalink,但由于某种原因它无法工作。知道会是什么吗?提前谢谢

[编辑] 我在其他python脚本中也遇到过类似的问题,问题是我在anaconda环境之外安装了python,并且由于任何原因,当我执行文件而不是使用python环境版本时,它使用了我计算机上安装的python,即3.7.2@宗是对的


Tags: inpyliblocalbotlineloadusers
1条回答
网友
1楼 · 发布于 2024-06-15 22:51:14

您还需要在项目使用的相同环境中安装带有pip install lavalink的python绑定

编辑:

好的,所以您需要了解环境是如何工作的。基本上,这里的问题是您在一个环境中安装了lavalink,但随后您使用另一个环境来运行代码。我怎么看这个? 因为在错误中我读了C:\Users\grmap\AppData\Local\Programs\Python\Python37...,所以这意味着您使用的是Python安装,而不是Anaconda安装

在终端中,您可以通过键入where python来检查您在windows中使用的python

当您使用pip安装某些东西时,您应该确保您使用的是来自要安装包的环境的pip.exe,否则解释器将找不到它

使用Anaconda,您可以使用conda create -n myenv python=3.7创建环境 并用conda activate myenv激活它 然后你可以在那里安装你的软件包。在PyCharm中,您需要选择正确的环境解释器

我不熟悉pyenv,但如果使用anaconda环境,基本上不需要它。不过,概念是相同的,您需要激活一个环境或直接指向正确的pip.exe,在本例中,它将位于C:\Users\grmap\AppData\Local\Programs\Python\Python37\的某个地方

这就是问题所在,每个环境都有自己的python.exepip.exe以及一组包

相关问题 更多 >