You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Dockerfile中安装Python3.8.10并升级pip适配新版Selenium

修改后的Dockerfile(适配Python 3.8.10)
ARG FFMPEG_VERSION=4.2.2

FROM ubuntu:bionic
ARG FFMPEG_VERSION

WORKDIR /usr/src/app

# 添加FFmpeg和Python 3.8的PPA源
RUN apt-get update && apt-get install -y software-properties-common && apt-get update \
    && add-apt-repository ppa:jonathonf/ffmpeg-4 \
    && add-apt-repository ppa:deadsnakes/ppa

RUN ln -s -f /bin/true /usr/bin/chfn \
    && apt-get update && apt-get install -y \
        python3.8 \
        python3.8-dev \
        python3.8-pip \
        xvfb \
        fluxbox \
        ffmpeg \
        dbus-x11 \
        libasound2 \
        libasound2-plugins\
        libnss-wrapper \
        alsa-utils \
        alsa-oss \
        pulseaudio \
        pulseaudio-utils \
        libffi-dev \
        libssl-dev \
    && mkdir /home/lithium /var/run/pulse /run/user/lithium \
    && chown -R 1001:0 /home/lithium /run/user/lithium /var/run/pulse \
    && chmod -R g=u /home/lithium /run/user/lithium /var/run/pulse

# 设置Python 3.8为默认版本并升级pip
RUN ln -s /usr/bin/python3.8 /usr/local/bin/python \
    && ln -s /usr/bin/pip3.8 /usr/local/bin/pip \
    && pip install --upgrade pip

COPY py_requirements.txt ./

RUN pip install --no-cache-dir -r py_requirements.txt

RUN apt-get update && \
    apt-get install -y gnupg wget curl unzip --no-install-recommends && \
    wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
    echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list && \
    apt-get update -y && \
    apt-get install -y google-chrome-stable && \
    CHROMEVER=$(google-chrome --product-version | grep -o "[^\.]*\.[^\.]*\.[^\.]*") && \
    DRIVERVER=$(curl -s "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_$CHROMEVER") && \
    wget -q --continue "http://chromedriver.storage.googleapis.com/$DRIVERVER/chromedriver_linux64.zip" && \
    unzip chromedriver* && \
    pwd && ls

ENV BBB_RESOLUTION 1920x1080
ENV BBB_AS_MODERATOR false
ENV BBB_USER_NAME Live
ENV BBB_CHAT_NAME Chat
ENV BBB_SHOW_CHAT false
ENV BBB_ENABLE_CHAT false
ENV BBB_REDIS_HOST redis
ENV BBB_REDIS_CHANNEL chat
RUN DEBIAN_FRONTEND="noninteractive" apt-get -y install tzdata
ENV TZ Europe/Vienna
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

COPY stream.py ./
COPY chat.py ./
COPY startStream.sh ./
COPY docker-entrypoint.sh ./
COPY nsswrapper.sh ./

ENTRYPOINT ["sh","docker-entrypoint.sh"]

CMD ["sh","startStream.sh" ]
USER 1001

关键修改说明

  • 添加Python 3.8源:新增ppa:deadsnakes/ppa源,该PPA提供Ubuntu官方不维护的旧版Python,适配Bionic版本系统。
  • 替换Python依赖包:将原有的python3-pip、python3-dev替换为python3.8、python3.8-dev、python3.8-pip,同时补充libffi-dev、libssl-dev确保Python运行依赖完整。
  • 设置默认Python版本:通过软链接将系统默认的python和pip指向Python 3.8的可执行文件,确保后续所有pip install操作都在3.8环境下执行。
  • 强制升级pip:明确升级Python 3.8对应的pip版本,解决新版Selenium安装的兼容性问题。

内容的提问来源于stack exchange,提问作者JohnTerry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 19:44:53