ubuntu 使用DOCKERFILE将PYTHON3.8和PyQt5安装到DOCKER容器

0yycz8jy  于 2023-10-17  发布在  Docker
关注(0)|答案(2)|浏览(157)

我有一个包含大量库(requirements.txt)的项目,当我在Docker容器中构建这个Docker文件时,我想创建一个dockerfile,我需要python3.8,在python3.8中我需要PyQt 5库。
当我创建一个简单的dockerfile时,

来自ubuntu:22.04

COPY . /app

我面临的问题是,当我尝试:

apt-get install python3-pyqt5

PyQt 5安装python3.11或python3.10并在此目录下安装PyQt 5。
但是我的项目只能在python3.8上运行,我该怎么办?

7uhlpewt

7uhlpewt1#

试试这个Dockerfile:

FROM ubuntu:22.04

ENV ACCEPT_EULA=Y DEBIAN_FRONTEND=noninteractive
RUN apt-get update &&\
    apt-get install -y software-properties-common &&\
    add-apt-repository ppa:deadsnakes/ppa && \
    apt-get update &&\
    apt-get install -y python3.8 &&\
    update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 10 &&\
    update-alternatives --set python3 /usr/bin/python3.8 &&\
    apt-get install -y python3-pyqt5
6jjcrrmo

6jjcrrmo2#

我上传了Dockerfile文件,因为我需要容器arm64的架构

FROM --platform=linux/arm64 python:3.8.10-slim
COPY . /app
ENV LIBGL_ALWAYS_INDIRECT=1unam

但现在我不能安装pyqt5库使用

apt-get install python3-pyqt5

容器中的代码。集装箱给予我的错误是

  • Collecting PyQt5 Using cached PyQt5-5.15.9.tar.gz(3.2 MB)正在安装构建依赖项.完成获取构建车轮的要求... done正在准备元数据(pyproject.toml)...错误错误:有错误退出子进程

×准备元数据(pyproject.toml)未成功运行。│退出代码:1 ─>[22 lines of output] Traceback(most recent call last):文件"/usr/local/lib/python3.8/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process./usr/local/lib/python3.8/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process. py ",line 335,in main json_out 'return_val']= hook(**hook_input 'kwargs '])File "/usr/local/lib/python3.8/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process. py",line 152,in prepare_metadata_for_build_wheel whl_baseband = www.example.com_wheel(metadata_directory,config_settings)File "/tmp/pip-build-env-mwq0m6h0/overlay/lib/python3.8/site-packages/sipbuild/www.example.com backend.buildwww.example.com ",第69行,在apply_user_defaults中引发PyProjectOptionException('qmake',sipbuild. pyproject. PyProjectOptionException [end of output]
注意:此错误源自子进程,可能不是pip的问题。错误:元数据生成失败
×生成包元数据时遇到错误。─>输出见上文。
注意:这是上面提到的包的问题,而不是pip。提示:详见上文。

相关问题