import discord 在 repl.it 上给我一个错误

import discord gives me an error on repl.it

我正在尝试在 repl.it 上托管一个机器人,当我尝试 运行 机器人时,显示了这条错误消息:

File "main.py", line 2, in <module>
    import discord
ModuleNotFoundError: No module named 'discord'

这对我来说似乎很奇怪,因为我上次尝试 运行 时我的代码运行得非常好。 我做了一些进一步的调查,发现 discord.py 有一个名为 aiohttp 的依赖项,所以我尝试自己安装包,然后发生了这样的事情:

Using version ^3.8.1 for aiohttp

Updating dependencies
Resolving dependencies...

  SolverProblemError

  Because discord.py (1.7.3) depends on aiohttp (>=3.6.0,<3.8.0)
   and no versions of discord.py match >1.7.3,<2.0.0, discord.py (>=1.7.3,<2.0.0) requires aiohttp (>=3.6.0,<3.8.0).
  So, because basically-another-discordpy-bot depends on both discord.py (^1.7.3) and aiohttp (^3.8.1), version solving failed.

  at /opt/virtualenvs/python3/lib/python3.8/site-packages/poetry/puzzle/solver.py:241 in _solve
      237│             packages = result.packages
      238│         except OverrideNeeded as e:
      239│             return self.solve_in_compatibility_mode(e.overrides, use_latest=use_latest)
      240│         except SolveFailure as e:
    → 241│             raise SolverProblemError(e)
      242│ 
      243│         results = dict(
      244│             depth_first_search(
      245│                 PackageNode(self._package, packages), aggregate_package_nodes
exit status 1


Replit: Package operation failed.

这是怎么回事,我该如何解决?

每次你 运行 你的代码在你的本地机器上它总是有相同的配置(它保留你的所有文件,安装的依赖项等),但在 repl.it 上它的工作方式不同。其中一些可能会丢失。

修正错误:

在 repl.it 中打开您的文件,然后在左侧单击 “包” 图标并搜索 discord。单击“+”安装包。现在,每次 运行 您的代码都应该安装它。


另一种方法是创建一个requirements.txt 文件并在其中写入discord.py。然后在你的代码的顶部添加这个以在每次你 运行 你的脚本时安装所需的依赖项:

import os
os.system("python -m pip install -r requirements.txt")