第一次运行 docker compose 时出现错误

问题描述 投票:0回答:1

我第一次尝试设置 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

docker文件:

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"]`

需求.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

python docker dockerfile requirements.txt
1个回答
0
投票

说明

python:3
基础镜像是基于Linux发行版
debian:12
的docker镜像。

另一方面,

pywin32
只有Windows版本,这对于它作为一个带有“Python for Window Extensions”描述的包来说很有意义。

因此你会得到错误

ERROR: No matching distribution found
。这些架构不兼容。

解决方案

至于要做什么,这些基本上是你的选择。

  1. 您真的需要这个包裹吗?如果没有,请将其删除。

  2. 您正在构建跨平台的东西并且仅有条件地使用

    pywin32
    吗?使用

pywin32==306; platform_system=="Windows"

另请参阅有没有办法为我的基于平台的 Python 应用程序提供条件requirements.txt 文件?了解其他选项。

  1. 您正在构建需要在 Windows 上运行的东西吗?不要使用 Linux 容器。
© www.soinside.com 2019 - 2024. All rights reserved.