第一次运行Docker Compose时出现错误
我正在第一次尝试设置Docker,但在运行命令:docker compose up --build时遇到了以下错误。
8.892 ERROR: Could not find a version that satisfies the requirement pywin32==306 (from versions: none)
8.893 ERROR: No matching distribution found for pywin32==306
------
failed to solve: process "/bin/sh -c pip install -r requirements.txt" did not complete successfully: exit code: 1
dockerfile:
FROM python:3
ENV PYTHONUNBUFFERED=1
WORKDIR /code
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["python","manage.py","runserver"]`
requirements.txt:
asgiref==3.7.2
backports.zoneinfo==0.2.1
certifi==2024.2.2
charset-normalizer==3.3.2
Django==4.2.11
docker==7.0.0
idna==3.6
packaging==24.0
pywin32==306
requests==2.31.0
sqlparse==0.4.4
typing_extensions==4.10.0
tzdata==2024.1
urllib3==2.2.1
更多信息:
在运行pip show pywin32后,得到了以下版本信息:
名称:pywin32
版本:306
1 个回答
0
解释
python:3
是一个基于 debian:12
的 Docker 镜像,简单来说就是一个运行在 Linux 系统上的基础环境。
而 pywin32
这个包只提供 Windows 版本,这也很合理,因为它的描述是“用于 Win32 扩展的 Python”。
所以你会看到错误信息 ERROR: No matching distribution found
,意思是找不到合适的版本。因为它们的系统架构不兼容。
解决方案
那么该怎么做呢?你可以考虑以下几种选择。
你真的需要这个包吗?如果不需要,就把它删掉。
你是在做一个跨平台的项目,并且
pywin32
只是偶尔用到?那可以使用
pywin32==306; platform_system=="Windows"
另外,你可以查看 是否可以根据平台有条件地使用 requirements.txt 文件,了解其他选项。
- 如果你是在做一个需要在 Windows 上运行的项目,那就不要使用 Linux 容器。