1

我正在尝试构建一个 docker 来托管我的 Discord 机器人。码头文件是

FROM python:3.8
COPY ./Elevate/* /docker/
RUN python3.8 -m pip install discord.py==1.5.1
RUN python3.8 -m pip install -r docker/requirements.txt
CMD ["python", "/docker/bot.py"]

并且docker-build . -t bot工作正常。但是,当我尝试运行 docker 时,我得到了

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

构建docker时,可以看到安装成功discord==1.5.1

requirements.txt 包含:

discord.py == 1.5.1
dblpy
python-dateutil
babel
aiohttp-requests
parsedatetime
wavelink
pillow
statcord.py
jishaku
ksoftapi

我对docker很陌生,所以如果这是一个愚蠢的错误,请不要判断:)

4

1 回答 1

0

将 requirements.txt 从

discord.py == 1.5.1

discord.py==1.5.1

最好的做法是维护一个requirements.lock. pip freeze > requirements.lock您可以通过在 docker 容器中运行来生成锁定文件。

示例命令: docker exec -it <image> pip freeze > requirements.lock

于 2020-12-18T05:57:17.777 回答