微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

manylinux1_x86_64.whl 的正确 Docker Baseimage 是什么?

如何解决manylinux1_x86_64.whl 的正确 Docker Baseimage 是什么?

我正在尝试在我的 docker 中 pip install gurobipy。当我使用具有给定索引 pip install -i https://pypi.gurobi.com gurobipy 的 pip install 时,在构建映像时出现“找不到匹配的分发版”错误。所以我决定直接使用正确的wheel文件。这给我留下了 ERROR: gurobipy-9.1.1-cp38-cp38-manylinux1_x86_64.whl is not a supported wheel on this platform.

  • 我尝试使用 python:3.6python:3.8 和 ubuntu 最新的 python3 作为具有相应 .whl 文件的基本图像

    • 除了 pip install -i *url* 之外,我使用了以下 .whl 文件作为对应的 python 版本(所有可以在这里找到:https://pypi.gurobi.com/gurobipy/):
      • python:3.8: gurobipy-9.1.1-cp38-cp38-manylinux1_x86_64.whl
      • python:3.6: gurobipy-9.1.1-cp36-cp36m-manylinux1_x86_64.whl
  • 我检查了 python 架构 - 它是 64 位。当我在 pycharm Python 3.8 venv(64 位)中使用 pip install -i *url* 时,一切正常。

  • .whl 文件中的目录可以在附加的屏幕截图中找到。

    file structure inside whl file

一个类似的问题在 MontagePy-1.0.1-cp36-cp36m-manylinux1_x86_64.whl is not a supported wheel on this platform 处得到解决,但没有足够的答案。

Gurobi 被广泛使用,我找不到其他人在 gurobi 方面有类似问题,所以我很确定我在我的 dockerfile 中搞砸了一些东西。我是否使用了错误的基础映像、Python 版本或缺少任何要求?

我正在使用以下 dockerfile 和要求。

Dockerfile: 我通常在正在运行的容器的终端中运行的注释行。

FROM python:3.8

workdir /

copY . ./Wueexam_optimization
RUN pip install --upgrade pip
RUN pip install -r Wueexam_optimization/optimization/requirements.txt
#RUN pip install --extra-index-url https://pypi.gurobi.com gurobipy
#RUN pip install https://pypi.gurobi.com/gurobipy/gurobipy-9.1.1-cp38-cp38-manylinux1_x86_64.whl

ENV PYTHONPATH /

workdir /Wueexam_optimization/optimization
CMD ["python3","-u","app.py"]

要求:

flask
flask-cors
flask-sqlalchemy
Flask-sqlAlchemy
numpy == 1.19.3
pandas
MysqLclient
openpyxl
pulp
pyMysqL
cryptography

解决方法

m1 可能会在构建过程中引起问题

,

问题是由于与 Apple M1 不兼容造成的。使用英特尔处理器构建相同的 docker 文件工作得非常好。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。