[英]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.