簡體   English   中英

Python package 無法安裝在 docker 容器中

[英]Python package not installable in docker container

我有這樣的基本 python docker 容器文件:

FROM python:3.8

RUN pip install --upgrade pip

EXPOSE 8000

ENV PYTHONDONTWRITEBYTECODE=1

# Turns off buffering for easier container logging
ENV PYTHONUNBUFFERED=1

# Install pip requirements
COPY requirements.txt .
RUN python -m pip install -r requirements.txt

WORKDIR /app
COPY . /app

RUN useradd appuser && chown -R appuser /app
USER appuser

CMD ["gunicorn", "--bind", "0.0.0.0:8000", "app:app"]

我想使用此定義文件在 docker 容器中運行我的 flask 應用程序。 我可以在本地啟動一個新的虛擬環境,通過pip install -r requirements.txt在 python 3.8 上安裝所有內容,它不會失敗。

構建 docker 圖像時,無法安裝 requirements.txt 中的所有包。 例如這個package 失敗了:

ERROR: Could not find a version that satisfies the requirement cvxopt==1.2.5.post1
ERROR: No matching distribution found for cvxopt==1.2.5.post1

當我在 requirements.txt 中注釋掉 package 時,一切似乎都正常。 package 本身聲稱與 python >2.7 兼容。 此處package pywin32==228 的行為相同。

您應該將版本替換為 1.2.5 ( pip install cvxopt==1.2.5 )

最新版本cvxopt 1.2.5.post1不兼容所有架構: https://pypi.org/project/cvxopt/1.2.5.post1/#files

前一個與更多硬件兼容,應該能夠在您的 Docker 圖像上運行: https://pypi.org/project/cvxopt/1.2.5/#files

查看 package 中的wheel 文件,cvxopt.1.2.5.post1 僅包含 Windows 的構建。對於 Linux(例如 docker 容器),您應該使用 cvxopt.1.2.5。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM