Skip to content

Conversation

@stevej2608
Copy link
Contributor

@stevej2608 stevej2608 commented Dec 10, 2025

Description

Fix: tests are failing when 'playwright install-deps' has already been done as part of the host/container provisioning.

Checklist

Please update this checklist as you complete each item:

  • Tests have been developed for bug fixes or new functionality.
  • The changelog has been updated, if necessary.
  • Documentation has been updated, if necessary.
  • GitHub Issues closed by this PR have been linked.

By submitting this pull request I agree that all contributions comply with this project's open source license(s).

@Archmonger Archmonger changed the title Fix: tests failing when 'playwright install-deps' has already been do… Fix: tests fail when 'playwright install-deps' has already run Dec 10, 2025
@Archmonger Archmonger merged commit 87ec4a7 into reactive-python:main Dec 10, 2025
20 checks passed
@Archmonger
Copy link
Contributor

I am refactoring the build process in #1317 so I just want to ask for some additional context. In what scenario/environment is install-deps causing issues? I haven't been able to replicate any problems re-running it multiple times on unix/windows/macos.

@stevej2608
Copy link
Contributor Author

I'm developing & testing in a container hosted on WSL2/Ubuntu. playwright is installed and 'playwright install-deps' is run in the Dockerfile.

@Archmonger
Copy link
Contributor

Thanks. I've managed to generate an error with a fresh WSL2 (Ubuntu) instance.

Will presume this is the same issue you had:

The following packages were automatically installed and are no longer required:
  libdrm-nouveau2 libdrm-radeon1 libgl1-amber-dri libglapi-mesa libllvm17t64 libxcb-dri2-0
Use 'sudo apt autoremove' to remove them.

@stevej2608
Copy link
Contributor Author

That message doesn't look familiar.

I'm away for the weekend, I'll reproduce the error and get back to you on Monday. Cheers.

@stevej2608
Copy link
Contributor Author

I've wound back to ReactPy "2.0.0b4" and restored the Dockerfile to its old state.

Dockerfile:

RUN pip install playwright
# RUN playwright install-deps  <<<< Commented out, no clue why

ReacytPy Testing:

hatch test
FAILED tests/test_core/test_layout.py::test_layout_expects_abstract_component[False] - subprocess.CalledProcessError: Command '['playwright', 'install-deps']' returned non-zero exit status 1.

Manually install-deps to see what's going on"

playwright install-deps
Installing dependencies...
Switching to root user to install dependencies...
Hit:1 http://deb.debian.org/debian bookworm InRelease
Hit:2 http://deb.debian.org/debian bookworm-updates InRelease
Hit:3 http://deb.debian.org/debian-security bookworm-security InRelease
Hit:4 https://deb.nodesource.com/node_20.x nodistro InRelease
Reading package lists... Done
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libcairo2 is already the newest version (1.16.0-7).
libdbus-1-3 is already the newest version (1.14.10-1~deb12u1).
libpango-1.0-0 is already the newest version (1.50.12+ds-1).
libx11-6 is already the newest version (2:1.8.4-2+deb12u2).
libxcb1 is already the newest version (1.15-1).
libxext6 is already the newest version (2:1.3.4-1+b1).
libcairo-gobject2 is already the newest version (1.16.0-7).
libfontconfig1 is already the newest version (2.14.1-4).
libharfbuzz0b is already the newest version (6.0.0+dfsg-3).
libpangocairo-1.0-0 is already the newest version (1.50.12+ds-1).
libxcb-shm0 is already the newest version (1.15-1).
libxrender1 is already the newest version (1:0.9.10-1.1).
libjpeg62-turbo is already the newest version (1:2.1.5-2).
liblcms2-2 is already the newest version (2.14-2).
libsecret-1-0 is already the newest version (0.20.5-3).
libatomic1 is already the newest version (12.2.0-14+deb12u1).
libevent-2.1-7 is already the newest version (2.1.12-stable-8).
fonts-ipafont-gothic is already the newest version (00303-23).
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 cpp-12 : Depends: gcc-12-base (= 12.2.0-14) but 12.2.0-14+deb12u1 is to be installed
 g++-12 : Depends: gcc-12-base (= 12.2.0-14) but 12.2.0-14+deb12u1 is to be installed
 gcc-12 : Depends: gcc-12-base (= 12.2.0-14) but 12.2.0-14+deb12u1 is to be installed
 gstreamer1.0-libav : Depends: libavcodec59 (>= 7:5.0)
                      Depends: libavfilter8 (>= 7:5.0)
                      Depends: libavformat59 (>= 7:5.0)
                      Depends: libavutil57 (>= 7:5.0) but it is not going to be installed
 gstreamer1.0-plugins-bad : Depends: libass9 (>= 1:0.13.6) but it is not going to be installed
                            Depends: libbs2b0 (>= 3.1.0+dfsg) but it is not going to be installed
                            Depends: libchromaprint1 (>= 1.3.2) but it is not going to be installed
                            Depends: libdc1394-25 (>= 2.2.6) but it is not going to be installed
                            Depends: libdca0 (>= 0.0.5) but it is not going to be installed
                            Depends: libdirectfb-1.7-7 (>= 1.7.7) but it is not going to be installed
                            Depends: libdvdnav4 (>= 4.1.3) but it is not going to be installed
                            Depends: libdvdread8 (>= 4.1.3) but it is not going to be installed
                            Depends: libfaad2 (>= 2.7) but it is not going to be installed
                            Depends: libflite1 (>= 1.4-release-9~) but it is not going to be installed
                            Depends: libfluidsynth3 (>= 2.2.0) but it is not going to be installed
                            Depends: libfreeaptx0 (>= 0.1.1) but it is not going to be installed
                            Depends: libgme0 (>= 0.6.0) but it is not going to be installed
                            Depends: libgsm1 (>= 1.0.18) but it is not going to be installed
                            Depends: libgstreamer-plugins-bad1.0-0 (= 1.22.0-4+deb12u6) but it is not going to be installed
                            Depends: libjson-glib-1.0-0 (>= 1.5.2) but it is not going to be installed
                            Depends: libkate1 (>= 0.4.1) but it is not going to be installed
                            Depends: libldacbt-enc2 (>= 2.0.2) but it is not going to be installed
                            Depends: liblilv-0-0 (>= 0.22) but it is not going to be installed
                            Depends: liblrdf0 (>= 0.4.0-1.2) but it is not going to be installed
                            Depends: libltc11 (>= 1.2.0) but it is not going to be installed
                            Depends: libmfx1 (>= 18.4.0) but it is not going to be installed
                            Depends: libmjpegutils-2.1-0 (>= 1:2.1.0+debian) but it is not going to be installed
                            Depends: libmodplug1 (>= 1:0.8.8.5) but it is not going to be installed
                            Depends: libmpcdec6 (>= 1:0.1~r435) but it is not going to be installed
                            Depends: libmpeg2encpp-2.1-0 (>= 1:2.1.0+debian) but it is not going to be installed
                            Depends: libmplex2-2.1-0 (>= 1:2.1.0+debian) but it is not going to be installed
                            Depends: libneon27 but it is not going to be installed
                            Depends: libopenal1 (>= 1.14) but it is not going to be installed
                            Depends: libopenh264-7 (>= 2.3.1+dfsg) but it is not going to be installed
                            Depends: libopenmpt0 (>= 0.5.10) but it is not going to be installed
                            Depends: libopenni2-0 (>= 2.2.0.33+dfsg) but it is not going to be installed
                            Depends: liborc-0.4-0 (>= 1:0.4.25) but it is not going to be installed
                            Depends: libqrencode4 (>= 3.2.0) but it is not going to be installed
                            Depends: libsbc1 (>= 2.0) but it is not going to be installed
                            Depends: libsndfile1 (>= 1.0.20) but it is not going to be installed
                            Depends: libsoundtouch1 (>= 2.0.0) but it is not going to be installed
                            Depends: libspandsp2 (>= 0.0.6~pre18) but it is not going to be installed
                            Depends: libsrt1.5-gnutls (>= 1.5.1) but it is not going to be installed
                            Depends: libsrtp2-1 (>= 2.0.0+20170516) but it is not going to be installed
                            Depends: libusb-1.0-0 (>= 2:1.0.8) but it is not going to be installed
                            Depends: libva2 (>= 2.2.0) but it is not going to be installed
                            Depends: libvo-aacenc0 (>= 0.1.3) but it is not going to be installed
                            Depends: libvo-amrwbenc0 (>= 0.1.3) but it is not going to be installed
                            Depends: libvulkan1 (>= 1.2.131.2) but it is not going to be installed
                            Depends: libwebrtc-audio-processing1 but it is not going to be installed
                            Depends: libwildmidi2 (>= 0.2.3) but it is not going to be installed
                            Depends: libzbar0 (>= 0.10) but it is not going to be installed
                            Depends: libzvbi0 (>= 0.2.35) but it is not going to be installed
                            Depends: libzxing2 (>= 1.4.0) but it is not going to be installed
 gstreamer1.0-plugins-base : Depends: libcdparanoia0 (>= 3.10.2+debian) but it is not going to be installed
                             Depends: libogg0 (>= 1.0rc3) but it is not going to be installed
                             Depends: liborc-0.4-0 (>= 1:0.4.25) but it is not going to be installed
                             Depends: libtheora0 (>= 1.1) but it is not going to be installed
                             Depends: libvisual-0.4-0 (>= 0.4.0) but it is not going to be installed
                             Depends: libvorbis0a (>= 1.3.1) but it is not going to be installed
                             Depends: libvorbisenc2 (>= 1.3.1) but it is not going to be installed
 gstreamer1.0-plugins-good : Depends: libaa1 (>= 1.4p5) but it is not going to be installed
                             Depends: libavc1394-0 (>= 0.5.3) but it is not going to be installed
                             Depends: libcaca0 (>= 0.99.beta20) but it is not going to be installed
                             Depends: libdv4 (>= 1.0.0) but it is not going to be installed
                             Depends: libflac12 (>= 1.3.0) but it is not going to be installed
                             Depends: libiec61883-0 (>= 1.2.0) but it is not going to be installed
                             Depends: libjack-jackd2-0 (>= 1.9.10+20150825) but it is not going to be installed or
                                      libjack-0.125
                             Depends: libmp3lame0 (>= 3.100) but it is not going to be installed
                             Depends: libmpg123-0 (>= 1.28.0) but it is not going to be installed
                             Depends: liborc-0.4-0 (>= 1:0.4.25) but it is not going to be installed
                             Depends: libpulse0 (>= 2.0) but it is not going to be installed
                             Depends: libraw1394-11 (>= 2.1.2) but it is not going to be installed
                             Depends: libshout3 (>= 2.4.6) but it is not going to be installed
                             Depends: libspeex1 (>= 1.2~) but it is not going to be installed
                             Depends: libtag1v5 (>= 1.9.1-2.2~) but it is not going to be installed
                             Depends: libtwolame0 (>= 0.3.10) but it is not going to be installed
                             Depends: libv4l-0 (>= 0.5.0) but it is not going to be installed
                             Depends: libvpx7 (>= 1.12.0) but it is not going to be installed
                             Depends: libwavpack1 (>= 4.60) but it is not going to be installed
 libasound2 : Depends: libasound2-data (>= 1.2.8-1) but it is not going to be installed
 libatk1.0-0 : Depends: at-spi2-common but it is not going to be installed
 libavif15 : Depends: libgav1-1 (>= 0.18.0) but it is not going to be installed
             Depends: librav1e0 (>= 0.5.1) but it is not going to be installed
             Depends: libsvtav1enc1 (>= 1.4.1+dfsg) but it is not going to be installed
             Depends: libyuv0 (>= 0.0~git20221206) but it is not going to be installed
 libcups2 : Depends: libavahi-client3 (>= 0.6.16) but it is not going to be installed
            Depends: libavahi-common3 (>= 0.6.16) but it is not going to be installed
 libdrm2 : Depends: libdrm-common (>= 2.4.114-1) but it is not going to be installed
 libegl1 : Depends: libglvnd0 (= 1.6.0-1) but it is not going to be installed
           Depends: libegl-mesa0 but it is not going to be installed
 libenchant-2-2 : Depends: hunspell-en-us but it is not going to be installed or
                           hunspell-dictionary or
                           myspell-dictionary or
                           aspell-dictionary or
                           ispell-dictionary
                  Depends: libaspell15 (>= 0.60.8) but it is not going to be installed
                  Depends: libhunspell-1.7-0 but it is not going to be installed
 libfreetype-dev : Depends: libfreetype6 (= 2.12.1+dfsg-5) but 2.12.1+dfsg-5+deb12u4 is to be installed
 libgcc-12-dev : Depends: gcc-12-base (= 12.2.0-14) but 12.2.0-14+deb12u1 is to be installed
 libgcc-s1 : Depends: gcc-12-base (= 12.2.0-14) but 12.2.0-14+deb12u1 is to be installed
 libgdk-pixbuf-2.0-0 : Depends: libgdk-pixbuf2.0-common (>= 2.42.10+dfsg-1+deb12u2) but 2.42.10+dfsg-1 is to be installed
 libgdk-pixbuf-2.0-dev : Depends: libgdk-pixbuf-2.0-0 (= 2.42.10+dfsg-1+b1) but 2.42.10+dfsg-1+deb12u2 is to be installed
 libgles2 : Depends: libglvnd0 (= 1.6.0-1) but it is not going to be installed
 libglib2.0-bin : Depends: libglib2.0-0 (= 2.74.6-2) but 2.74.6-2+deb12u7 is to be installed
 libglib2.0-dev : Depends: libglib2.0-0 (= 2.74.6-2) but 2.74.6-2+deb12u7 is to be installed
 libglib2.0-dev-bin : Depends: libglib2.0-0 (= 2.74.6-2) but 2.74.6-2+deb12u7 is to be installed
 libglx0 : Depends: libglvnd0 (= 1.6.0-1) but it is not going to be installed
           Depends: libglx-mesa0 but it is not going to be installed
 libgstreamer-gl1.0-0 : Depends: libgl1 but it is not going to be installed
                        Depends: libwayland-cursor0 (>= 1.11) but it is not going to be installed
 libgstreamer-plugins-base1.0-0 : Depends: liborc-0.4-0 (>= 1:0.4.25) but it is not going to be installed
                                  Depends: iso-codes but it is not going to be installed
 libgstreamer1.0-0 : Depends: libdw1 (>= 0.126) but it is not going to be installed
                     Depends: libunwind8 but it is not going to be installed
                     Depends: libcap2-bin but it is not going to be installed
 libgtk-3-0 : Depends: adwaita-icon-theme but it is not going to be installed
              Depends: libcolord2 (>= 0.1.10) but it is not going to be installed
              Depends: libwayland-cursor0 (>= 1.14.91) but it is not going to be installed
              Depends: libxinerama1 (>= 2:1.1.4) but it is not going to be installed
              Depends: libgtk-3-common (>= 3.24.38-2~deb12u3) but it is not going to be installed
 libgtk-4-1 : Depends: adwaita-icon-theme but it is not going to be installed
              Depends: libcloudproviders0 (>= 0.3.1) but it is not going to be installed
              Depends: libcolord2 (>= 0.1.10) but it is not going to be installed
              Depends: libgraphene-1.0-0 (>= 1.9.4) but it is not going to be installed
              Depends: libxinerama1 (>= 2:1.1.4) but it is not going to be installed
              Depends: libgtk-4-common (>= 4.8.3+ds-2+deb12u1) but it is not going to be installed
 libicu-dev : Depends: libicu72 (= 72.1-3) but 72.1-3+deb12u1 is to be installed
 libopengl0 : Depends: libglvnd0 (= 1.6.0-1) but it is not going to be installed
 libopenjp2-7-dev : Depends: libopenjp2-7 (= 2.5.0-2) but 2.5.0-2+deb12u2 is to be installed
 libpng-dev : Depends: libpng16-16 (= 1.6.39-2) but 1.6.39-2+deb12u1 is to be installed
 libsoup-3.0-0 : Depends: glib-networking (>= 2.32.0) but it is not going to be installed
                 Depends: libsoup-3.0-common but it is not going to be installed
 libstdc++-12-dev : Depends: gcc-12-base (= 12.2.0-14) but 12.2.0-14+deb12u1 is to be installed
 libstdc++6 : Depends: gcc-12-base (= 12.2.0-14) but 12.2.0-14+deb12u1 is to be installed
 libwebp-dev : Depends: libwebp7 (= 1.2.4-0.2) but 1.2.4-0.2+deb12u1 is to be installed
               Depends: libwebpdemux2 (= 1.2.4-0.2) but 1.2.4-0.2+deb12u1 is to be installed
 libxkbcommon0 : Depends: xkb-data but it is not going to be installed
 libxml2-dev : Depends: libxml2 (= 2.9.14+dfsg-1.3~deb12u1) but 2.9.14+dfsg-1.3~deb12u4 is to be installed
 libxslt1-dev : Depends: libxslt1.1 (= 1.1.35-1) but 1.1.35-1+deb12u3 is to be installed
 xfonts-scalable : Depends: xfonts-utils but it is not going to be installed
 xvfb : Depends: xserver-common (>= 2:21.1.7-3+deb12u11) but it is not going to be installed
        Depends: libgl1 but it is not going to be installed
        Depends: libunwind8 but it is not going to be installed
        Depends: libxfont2 (>= 1:2.0.1) but it is not going to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
Failed to install browser dependencies
Error: Installation process exited with code: 100

@Archmonger
Copy link
Contributor

Does playwright install-deps chromium and playwright install-deps firefox give you the same errors?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants