码头工人和剧作家

Ива*_*чка 6 python docker

我需要在 docker 内部安装 playwright。这是我的 dockerfile。

FROM python:3.9

EXPOSE 8000

WORKDIR /fastanalytics

COPY /requirements.txt /fastanalytics/requirements.txt

RUN pip install --no-cache-dir --upgrade -r /fastanalytics/requirements.txt

RUN playwright install
RUN playwright install-deps
RUN apt-get update && apt-get upgrade -y

Run Code Online (Sandbox Code Playgroud)

但是当我安装时出现以下错误。我尝试安装错误消息中的所有内容,但没有帮助。

E: Package 'ttf-ubuntu-font-family' has no installation candidate
E: Unable to locate package libenchant1c2a
E: Unable to locate package libicu66
E: Package 'libjpeg-turbo8' has no installation candidate
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

wan*_*101 13

微软为 Playwright 发布了 python docker 镜像

Dockerfile

# Build Environment: Playwright
FROM mcr.microsoft.com/playwright/python:v1.21.0-focal

# Add python script to Docker
COPY index.py /

# Run Python script
CMD [ "python", "index.py" ]
Run Code Online (Sandbox Code Playgroud)

检查Playwright - Docker 文档以获取最新的 playwright 版本。


MrD*_*les 5

根据他们的文档(https://playwright.dev/python/docs/cli#install-system-dependencies),看起来他们只正式支持 Ubuntu 系统,而它python:3.9是基于 Debian 的。尝试使用 Ubuntu 作为基础镜像并在其上安装 python:

FROM ubuntu:20.04

RUN apt update
RUN apt install python3.9

...
Run Code Online (Sandbox Code Playgroud)