I: pbuilder: network access will be disabled during build
I: Current time: Sun May 26 11:38:13 -12 2024
I: pbuilder-time-stamp: 1716766693
I: Building the build Environment
I: extracting base tarball [/var/cache/pbuilder/bookworm-reproducible-base.tgz]
I: copying local configuration
W: --override-config is not set; not updating apt.conf Read the manpage for details.
I: mounting /proc filesystem
I: mounting /sys filesystem
I: creating /{dev,run}/shm
I: mounting /dev/pts filesystem
I: redirecting /dev/ptmx to /dev/pts/ptmx
I: policy-rc.d already exists
I: using eatmydata during job
I: Copying source file
I: copying [pdm_2.2.1+ds1-1.dsc]
I: copying [./pdm_2.2.1+ds1.orig.tar.xz]
I: copying [./pdm_2.2.1+ds1-1.debian.tar.xz]
I: Extracting source
gpgv: Signature made Sat Nov 26 08:19:46 2022 -12
gpgv:                using RSA key 7E7729476D87D6F11D91ACCBC293E7B461825ACE
gpgv: Can't check signature: No public key
dpkg-source: warning: cannot verify inline signature for ./pdm_2.2.1+ds1-1.dsc: no acceptable signature found
dpkg-source: info: extracting pdm in pdm-2.2.1+ds1
dpkg-source: info: unpacking pdm_2.2.1+ds1.orig.tar.xz
dpkg-source: info: unpacking pdm_2.2.1+ds1-1.debian.tar.xz
dpkg-source: info: using patch list from debian/patches/series
dpkg-source: info: applying 0001-Disable-dynamic-version.patch
I: Not using root during the build.
I: Installing the build-deps
I: user script /srv/workspace/pbuilder/3176/tmp/hooks/D02_print_environment starting
I: set
  BUILDDIR='/build'
  BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other'
  BUILDUSERNAME='pbuilder1'
  BUILD_ARCH='i386'
  DEBIAN_FRONTEND='noninteractive'
  DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=16'
  DISTRIBUTION='bookworm'
  HOME='/root'
  HOST_ARCH='i386'
  IFS=' 	
  '
  INVOCATION_ID='29956a855d004ea9a41f6378f4b30c5c'
  LANG='C'
  LANGUAGE='en_US:en'
  LC_ALL='C'
  LD_LIBRARY_PATH='/usr/lib/libeatmydata'
  LD_PRELOAD='libeatmydata.so'
  MAIL='/var/mail/root'
  OPTIND='1'
  PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games'
  PBCURRENTCOMMANDLINEOPERATION='build'
  PBUILDER_OPERATION='build'
  PBUILDER_PKGDATADIR='/usr/share/pbuilder'
  PBUILDER_PKGLIBDIR='/usr/lib/pbuilder'
  PBUILDER_SYSCONFDIR='/etc'
  PPID='3176'
  PS1='# '
  PS2='> '
  PS4='+ '
  PWD='/'
  SHELL='/bin/bash'
  SHLVL='2'
  SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.AiSNFD24/pbuilderrc_jtiK --distribution bookworm --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bookworm-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.AiSNFD24/b1 --logfile b1/build.log pdm_2.2.1+ds1-1.dsc'
  SUDO_GID='112'
  SUDO_UID='107'
  SUDO_USER='jenkins'
  TERM='unknown'
  TZ='/usr/share/zoneinfo/Etc/GMT+12'
  USER='root'
  _='/usr/bin/systemd-run'
  http_proxy='http://85.184.249.68:3128'
I: uname -a
  Linux ionos6-i386 5.10.0-21-amd64 #1 SMP Debian 5.10.162-1 (2023-01-21) x86_64 GNU/Linux
I: ls -l /bin
  total 6036
  -rwxr-xr-x 1 root root 1408088 Feb 12  2023 bash
  -rwxr-xr-x 3 root root   38404 Sep 18  2022 bunzip2
  -rwxr-xr-x 3 root root   38404 Sep 18  2022 bzcat
  lrwxrwxrwx 1 root root       6 Sep 18  2022 bzcmp -> bzdiff
  -rwxr-xr-x 1 root root    2225 Sep 18  2022 bzdiff
  lrwxrwxrwx 1 root root       6 Sep 18  2022 bzegrep -> bzgrep
  -rwxr-xr-x 1 root root    4893 Nov 27  2021 bzexe
  lrwxrwxrwx 1 root root       6 Sep 18  2022 bzfgrep -> bzgrep
  -rwxr-xr-x 1 root root    3775 Sep 18  2022 bzgrep
  -rwxr-xr-x 3 root root   38404 Sep 18  2022 bzip2
  -rwxr-xr-x 1 root root   17892 Sep 18  2022 bzip2recover
  lrwxrwxrwx 1 root root       6 Sep 18  2022 bzless -> bzmore
  -rwxr-xr-x 1 root root    1297 Sep 18  2022 bzmore
  -rwxr-xr-x 1 root root   42920 Sep 20  2022 cat
  -rwxr-xr-x 1 root root   79816 Sep 20  2022 chgrp
  -rwxr-xr-x 1 root root   67496 Sep 20  2022 chmod
  -rwxr-xr-x 1 root root   79816 Sep 20  2022 chown
  -rwxr-xr-x 1 root root  162024 Sep 20  2022 cp
  -rwxr-xr-x 1 root root  136916 Jan  5  2023 dash
  -rwxr-xr-x 1 root root  137160 Sep 20  2022 date
  -rwxr-xr-x 1 root root  100364 Sep 20  2022 dd
  -rwxr-xr-x 1 root root  108940 Sep 20  2022 df
  -rwxr-xr-x 1 root root  162152 Sep 20  2022 dir
  -rwxr-xr-x 1 root root   87760 Mar 22  2023 dmesg
  lrwxrwxrwx 1 root root       8 Dec 19  2022 dnsdomainname -> hostname
  lrwxrwxrwx 1 root root       8 Dec 19  2022 domainname -> hostname
  -rwxr-xr-x 1 root root   38760 Sep 20  2022 echo
  -rwxr-xr-x 1 root root      41 Jan 24  2023 egrep
  -rwxr-xr-x 1 root root   34664 Sep 20  2022 false
  -rwxr-xr-x 1 root root      41 Jan 24  2023 fgrep
  -rwxr-xr-x 1 root root   84272 Mar 22  2023 findmnt
  -rwsr-xr-x 1 root root   30240 Mar 22  2023 fusermount
  -rwxr-xr-x 1 root root  218680 Jan 24  2023 grep
  -rwxr-xr-x 2 root root    2346 Apr  9  2022 gunzip
  -rwxr-xr-x 1 root root    6447 Apr  9  2022 gzexe
  -rwxr-xr-x 1 root root  100952 Apr  9  2022 gzip
  -rwxr-xr-x 1 root root   21916 Dec 19  2022 hostname
  -rwxr-xr-x 1 root root   75756 Sep 20  2022 ln
  -rwxr-xr-x 1 root root   55600 Mar 22  2023 login
  -rwxr-xr-x 1 root root  162152 Sep 20  2022 ls
  -rwxr-xr-x 1 root root  214568 Mar 22  2023 lsblk
  -rwxr-xr-x 1 root root   96328 Sep 20  2022 mkdir
  -rwxr-xr-x 1 root root   84008 Sep 20  2022 mknod
  -rwxr-xr-x 1 root root   38792 Sep 20  2022 mktemp
  -rwxr-xr-x 1 root root   63016 Mar 22  2023 more
  -rwsr-xr-x 1 root root   58912 Mar 22  2023 mount
  -rwxr-xr-x 1 root root   13856 Mar 22  2023 mountpoint
  -rwxr-xr-x 1 root root  157932 Sep 20  2022 mv
  lrwxrwxrwx 1 root root       8 Dec 19  2022 nisdomainname -> hostname
  lrwxrwxrwx 1 root root      14 Apr  2  2023 pidof -> /sbin/killall5
  -rwxr-xr-x 1 root root   38792 Sep 20  2022 pwd
  lrwxrwxrwx 1 root root       4 Feb 12  2023 rbash -> bash
  -rwxr-xr-x 1 root root   51080 Sep 20  2022 readlink
  -rwxr-xr-x 1 root root   75720 Sep 20  2022 rm
  -rwxr-xr-x 1 root root   51080 Sep 20  2022 rmdir
  -rwxr-xr-x 1 root root   22308 Nov  2  2022 run-parts
  -rwxr-xr-x 1 root root  133224 Jan  5  2023 sed
  lrwxrwxrwx 1 root root       4 Jan  5  2023 sh -> dash
  -rwxr-xr-x 1 root root   38760 Sep 20  2022 sleep
  -rwxr-xr-x 1 root root   87976 Sep 20  2022 stty
  -rwsr-xr-x 1 root root   83492 Mar 22  2023 su
  -rwxr-xr-x 1 root root   38792 Sep 20  2022 sync
  -rwxr-xr-x 1 root root  598456 Apr  6  2023 tar
  -rwxr-xr-x 1 root root   13860 Nov  2  2022 tempfile
  -rwxr-xr-x 1 root root  120776 Sep 20  2022 touch
  -rwxr-xr-x 1 root root   34664 Sep 20  2022 true
  -rwxr-xr-x 1 root root   17892 Mar 22  2023 ulockmgr_server
  -rwsr-xr-x 1 root root   30236 Mar 22  2023 umount
  -rwxr-xr-x 1 root root   38760 Sep 20  2022 uname
  -rwxr-xr-x 2 root root    2346 Apr  9  2022 uncompress
  -rwxr-xr-x 1 root root  162152 Sep 20  2022 vdir
  -rwxr-xr-x 1 root root   71216 Mar 22  2023 wdctl
  lrwxrwxrwx 1 root root       8 Dec 19  2022 ypdomainname -> hostname
  -rwxr-xr-x 1 root root    1984 Apr  9  2022 zcat
  -rwxr-xr-x 1 root root    1678 Apr  9  2022 zcmp
  -rwxr-xr-x 1 root root    6460 Apr  9  2022 zdiff
  -rwxr-xr-x 1 root root      29 Apr  9  2022 zegrep
  -rwxr-xr-x 1 root root      29 Apr  9  2022 zfgrep
  -rwxr-xr-x 1 root root    2081 Apr  9  2022 zforce
  -rwxr-xr-x 1 root root    8103 Apr  9  2022 zgrep
  -rwxr-xr-x 1 root root    2206 Apr  9  2022 zless
  -rwxr-xr-x 1 root root    1842 Apr  9  2022 zmore
  -rwxr-xr-x 1 root root    4577 Apr  9  2022 znew
I: user script /srv/workspace/pbuilder/3176/tmp/hooks/D02_print_environment finished
 -> Attempting to satisfy build-dependencies
 -> Creating pbuilder-satisfydepends-dummy package
Package: pbuilder-satisfydepends-dummy
Version: 0.invalid.0
Architecture: i386
Maintainer: Debian Pbuilder Team <pbuilder-maint@lists.alioth.debian.org>
Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder
 This package was created automatically by pbuilder to satisfy the
 build-dependencies of the package being currently built.
Depends: debhelper-compat (= 13), dh-sequence-python3, pybuild-plugin-pyproject, python3, python3-blinker, python3-cachecontrol, python3-certifi (>> 2022.6.15), python3-django, python3-dotenv, python3-findpython, python3-first, python3-installer, python3-ipython, python3-packaging, python3-pdm-pep517 (>= 1.0.0), python3-pep517, python3-pip, python3-platformdirs, python3-pytest, python3-pytest-cov, python3-pytest-mock, python3-pytest-xdist, python3-pytest-rerunfailures, python3-requests-toolbelt, python3-resolvelib, python3-rich, python3-shellingham, python3-tomli, python3-tomlkit, python3-unearth (>= 0.6~), python3-virtualenv
dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'.
Selecting previously unselected package pbuilder-satisfydepends-dummy.
(Reading database ... 19604 files and directories currently installed.)
Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ...
Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ...
dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested:
 pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however:
  Package debhelper-compat is not installed.
 pbuilder-satisfydepends-dummy depends on dh-sequence-python3; however:
  Package dh-sequence-python3 is not installed.
 pbuilder-satisfydepends-dummy depends on pybuild-plugin-pyproject; however:
  Package pybuild-plugin-pyproject is not installed.
 pbuilder-satisfydepends-dummy depends on python3; however:
  Package python3 is not installed.
 pbuilder-satisfydepends-dummy depends on python3-blinker; however:
  Package python3-blinker is not installed.
 pbuilder-satisfydepends-dummy depends on python3-cachecontrol; however:
  Package python3-cachecontrol is not installed.
 pbuilder-satisfydepends-dummy depends on python3-certifi (>> 2022.6.15); however:
  Package python3-certifi is not installed.
 pbuilder-satisfydepends-dummy depends on python3-django; however:
  Package python3-django is not installed.
 pbuilder-satisfydepends-dummy depends on python3-dotenv; however:
  Package python3-dotenv is not installed.
 pbuilder-satisfydepends-dummy depends on python3-findpython; however:
  Package python3-findpython is not installed.
 pbuilder-satisfydepends-dummy depends on python3-first; however:
  Package python3-first is not installed.
 pbuilder-satisfydepends-dummy depends on python3-installer; however:
  Package python3-installer is not installed.
 pbuilder-satisfydepends-dummy depends on python3-ipython; however:
  Package python3-ipython is not installed.
 pbuilder-satisfydepends-dummy depends on python3-packaging; however:
  Package python3-packaging is not installed.
 pbuilder-satisfydepends-dummy depends on python3-pdm-pep517 (>= 1.0.0); however:
  Package python3-pdm-pep517 is not installed.
 pbuilder-satisfydepends-dummy depends on python3-pep517; however:
  Package python3-pep517 is not installed.
 pbuilder-satisfydepends-dummy depends on python3-pip; however:
  Package python3-pip is not installed.
 pbuilder-satisfydepends-dummy depends on python3-platformdirs; however:
  Package python3-platformdirs is not installed.
 pbuilder-satisfydepends-dummy depends on python3-pytest; however:
  Package python3-pytest is not installed.
 pbuilder-satisfydepends-dummy depends on python3-pytest-cov; however:
  Package python3-pytest-cov is not installed.
 pbuilder-satisfydepends-dummy depends on python3-pytest-mock; however:
  Package python3-pytest-mock is not installed.
 pbuilder-satisfydepends-dummy depends on python3-pytest-xdist; however:
  Package python3-pytest-xdist is not installed.
 pbuilder-satisfydepends-dummy depends on python3-pytest-rerunfailures; however:
  Package python3-pytest-rerunfailures is not installed.
 pbuilder-satisfydepends-dummy depends on python3-requests-toolbelt; however:
  Package python3-requests-toolbelt is not installed.
 pbuilder-satisfydepends-dummy depends on python3-resolvelib; however:
  Package python3-resolvelib is not installed.
 pbuilder-satisfydepends-dummy depends on python3-rich; however:
  Package python3-rich is not installed.
 pbuilder-satisfydepends-dummy depends on python3-shellingham; however:
  Package python3-shellingham is not installed.
 pbuilder-satisfydepends-dummy depends on python3-tomli; however:
  Package python3-tomli is not installed.
 pbuilder-satisfydepends-dummy depends on python3-tomlkit; however:
  Package python3-tomlkit is not installed.
 pbuilder-satisfydepends-dummy depends on python3-unearth (>= 0.6~); however:
  Package python3-unearth is not installed.
 pbuilder-satisfydepends-dummy depends on python3-virtualenv; however:
  Package python3-virtualenv is not installed.

Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ...
Reading package lists...
Building dependency tree...
Reading state information...
Initializing package states...
Writing extended state information...
Building tag database...
pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0)
pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0)
The following NEW packages will be installed:
  autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} ca-certificates{a} debhelper{a} dh-autoreconf{a} dh-python{a} dh-strip-nondeterminism{a} dwz{a} file{a} gettext{a} gettext-base{a} groff-base{a} intltool-debian{a} libarchive-zip-perl{a} libdebhelper-perl{a} libelf1{a} libexpat1{a} libfile-stripnondeterminism-perl{a} libicu72{a} libjs-jquery{a} libjs-jquery-hotkeys{a} libjs-jquery-isonscreen{a} libjs-jquery-metadata{a} libjs-jquery-tablesorter{a} libjs-jquery-throttle-debounce{a} libmagic-mgc{a} libmagic1{a} libpipeline1{a} libpython3-stdlib{a} libpython3.11-minimal{a} libpython3.11-stdlib{a} libreadline8{a} libsub-override-perl{a} libtool{a} libuchardet0{a} libxml2{a} m4{a} man-db{a} media-types{a} openssl{a} po-debconf{a} pybuild-plugin-pyproject{a} python3{a} python3-asgiref{a} python3-asttokens{a} python3-attr{a} python3-backcall{a} python3-blinker{a} python3-boolean{a} python3-build{a} python3-cachecontrol{a} python3-cerberus{a} python3-certifi{a} python3-chardet{a} python3-charset-normalizer{a} python3-coverage{a} python3-decorator{a} python3-distlib{a} python3-distutils{a} python3-django{a} python3-dotenv{a} python3-execnet{a} python3-executing{a} python3-filelock{a} python3-findpython{a} python3-first{a} python3-idna{a} python3-importlib-metadata{a} python3-iniconfig{a} python3-installer{a} python3-ipython{a} python3-jedi{a} python3-lib2to3{a} python3-license-expression{a} python3-markdown-it{a} python3-matplotlib-inline{a} python3-mdurl{a} python3-minimal{a} python3-more-itertools{a} python3-msgpack{a} python3-packaging{a} python3-parso{a} python3-pdm-pep517{a} python3-pep517{a} python3-pexpect{a} python3-pickleshare{a} python3-pip{a} python3-pip-whl{a} python3-pkg-resources{a} python3-platformdirs{a} python3-pluggy{a} python3-prompt-toolkit{a} python3-ptyprocess{a} python3-pure-eval{a} python3-py{a} python3-pygments{a} python3-pyparsing{a} python3-pytest{a} python3-pytest-cov{a} python3-pytest-mock{a} python3-pytest-rerunfailures{a} python3-pytest-xdist{a} python3-requests{a} python3-requests-toolbelt{a} python3-resolvelib{a} python3-rich{a} python3-setuptools{a} python3-setuptools-whl{a} python3-shellingham{a} python3-six{a} python3-sqlparse{a} python3-stack-data{a} python3-toml{a} python3-tomli{a} python3-tomli-w{a} python3-tomlkit{a} python3-traitlets{a} python3-tz{a} python3-unearth{a} python3-urllib3{a} python3-virtualenv{a} python3-wcwidth{a} python3-wheel{a} python3-wheel-whl{a} python3-zipp{a} python3.11{a} python3.11-minimal{a} readline-common{a} sensible-utils{a} 
The following packages are RECOMMENDED but will NOT be installed:
  curl javascript-common libarchive-cpio-perl libltdl-dev libmail-sendmail-perl lynx python3-dev python3-matplotlib wget 
0 packages upgraded, 132 newly installed, 0 to remove and 0 not upgraded.
Need to get 40.5 MB of archives. After unpacking 170 MB will be used.
Writing extended state information...
Get: 1 http://deb.debian.org/debian bookworm/main i386 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [326 kB]
Get: 2 http://deb.debian.org/debian bookworm/main i386 libjs-jquery-hotkeys all 0~20130707+git2d51e3a9+dfsg-2.1 [11.5 kB]
Get: 3 http://deb.debian.org/debian bookworm/main i386 libpython3.11-minimal i386 3.11.2-6 [813 kB]
Get: 4 http://deb.debian.org/debian bookworm/main i386 libexpat1 i386 2.5.0-1 [103 kB]
Get: 5 http://deb.debian.org/debian bookworm/main i386 python3.11-minimal i386 3.11.2-6 [2130 kB]
Get: 6 http://deb.debian.org/debian bookworm/main i386 python3-minimal i386 3.11.2-1+b1 [26.3 kB]
Get: 7 http://deb.debian.org/debian bookworm/main i386 media-types all 10.0.0 [26.1 kB]
Get: 8 http://deb.debian.org/debian bookworm/main i386 readline-common all 8.2-1.3 [69.0 kB]
Get: 9 http://deb.debian.org/debian bookworm/main i386 libreadline8 i386 8.2-1.3 [171 kB]
Get: 10 http://deb.debian.org/debian bookworm/main i386 libpython3.11-stdlib i386 3.11.2-6 [1799 kB]
Get: 11 http://deb.debian.org/debian bookworm/main i386 python3.11 i386 3.11.2-6 [572 kB]
Get: 12 http://deb.debian.org/debian bookworm/main i386 libpython3-stdlib i386 3.11.2-1+b1 [9308 B]
Get: 13 http://deb.debian.org/debian bookworm/main i386 python3 i386 3.11.2-1+b1 [26.3 kB]
Get: 14 http://deb.debian.org/debian bookworm/main i386 sensible-utils all 0.0.17+nmu1 [19.0 kB]
Get: 15 http://deb.debian.org/debian bookworm/main i386 openssl i386 3.0.8-1 [1412 kB]
Get: 16 http://deb.debian.org/debian bookworm/main i386 ca-certificates all 20230311 [153 kB]
Get: 17 http://deb.debian.org/debian bookworm/main i386 libmagic-mgc i386 1:5.44-3 [305 kB]
Get: 18 http://deb.debian.org/debian bookworm/main i386 libmagic1 i386 1:5.44-3 [114 kB]
Get: 19 http://deb.debian.org/debian bookworm/main i386 file i386 1:5.44-3 [42.5 kB]
Get: 20 http://deb.debian.org/debian bookworm/main i386 gettext-base i386 0.21-12 [162 kB]
Get: 21 http://deb.debian.org/debian bookworm/main i386 libuchardet0 i386 0.0.7-1 [67.9 kB]
Get: 22 http://deb.debian.org/debian bookworm/main i386 groff-base i386 1.22.4-10 [932 kB]
Get: 23 http://deb.debian.org/debian bookworm/main i386 bsdextrautils i386 2.38.1-5+b1 [90.3 kB]
Get: 24 http://deb.debian.org/debian bookworm/main i386 libpipeline1 i386 1.5.7-1 [40.0 kB]
Get: 25 http://deb.debian.org/debian bookworm/main i386 man-db i386 2.11.2-2 [1397 kB]
Get: 26 http://deb.debian.org/debian bookworm/main i386 m4 i386 1.4.19-3 [294 kB]
Get: 27 http://deb.debian.org/debian bookworm/main i386 autoconf all 2.71-3 [332 kB]
Get: 28 http://deb.debian.org/debian bookworm/main i386 autotools-dev all 20220109.1 [51.6 kB]
Get: 29 http://deb.debian.org/debian bookworm/main i386 automake all 1:1.16.5-1.3 [823 kB]
Get: 30 http://deb.debian.org/debian bookworm/main i386 autopoint all 0.21-12 [495 kB]
Get: 31 http://deb.debian.org/debian bookworm/main i386 libdebhelper-perl all 13.11.4 [81.2 kB]
Get: 32 http://deb.debian.org/debian bookworm/main i386 libtool all 2.4.7-5 [517 kB]
Get: 33 http://deb.debian.org/debian bookworm/main i386 dh-autoreconf all 20 [17.1 kB]
Get: 34 http://deb.debian.org/debian bookworm/main i386 libarchive-zip-perl all 1.68-1 [104 kB]
Get: 35 http://deb.debian.org/debian bookworm/main i386 libsub-override-perl all 0.09-4 [9304 B]
Get: 36 http://deb.debian.org/debian bookworm/main i386 libfile-stripnondeterminism-perl all 1.13.1-1 [19.4 kB]
Get: 37 http://deb.debian.org/debian bookworm/main i386 dh-strip-nondeterminism all 1.13.1-1 [8620 B]
Get: 38 http://deb.debian.org/debian bookworm/main i386 libelf1 i386 0.188-2.1 [179 kB]
Get: 39 http://deb.debian.org/debian bookworm/main i386 dwz i386 0.15-1 [118 kB]
Get: 40 http://deb.debian.org/debian bookworm/main i386 libicu72 i386 72.1-3 [9541 kB]
Get: 41 http://deb.debian.org/debian bookworm/main i386 libxml2 i386 2.9.14+dfsg-1.2 [720 kB]
Get: 42 http://deb.debian.org/debian bookworm/main i386 gettext i386 0.21-12 [1311 kB]
Get: 43 http://deb.debian.org/debian bookworm/main i386 intltool-debian all 0.35.0+20060710.6 [22.9 kB]
Get: 44 http://deb.debian.org/debian bookworm/main i386 po-debconf all 1.0.21+nmu1 [248 kB]
Get: 45 http://deb.debian.org/debian bookworm/main i386 debhelper all 13.11.4 [942 kB]
Get: 46 http://deb.debian.org/debian bookworm/main i386 python3-lib2to3 all 3.11.2-2 [76.2 kB]
Get: 47 http://deb.debian.org/debian bookworm/main i386 python3-distutils all 3.11.2-2 [131 kB]
Get: 48 http://deb.debian.org/debian bookworm/main i386 dh-python all 5.20230130 [104 kB]
Get: 49 http://deb.debian.org/debian bookworm/main i386 libjs-jquery-isonscreen all 1.2.0-1.1 [3196 B]
Get: 50 http://deb.debian.org/debian bookworm/main i386 libjs-jquery-metadata all 12-4 [6532 B]
Get: 51 http://deb.debian.org/debian bookworm/main i386 libjs-jquery-tablesorter all 1:2.31.3+dfsg1-3 [184 kB]
Get: 52 http://deb.debian.org/debian bookworm/main i386 libjs-jquery-throttle-debounce all 1.1+dfsg.1-2 [12.2 kB]
Get: 53 http://deb.debian.org/debian bookworm/main i386 python3-more-itertools all 8.10.0-2 [53.0 kB]
Get: 54 http://deb.debian.org/debian bookworm/main i386 python3-zipp all 1.0.0-6 [6696 B]
Get: 55 http://deb.debian.org/debian bookworm/main i386 python3-importlib-metadata all 4.12.0-1 [24.9 kB]
Get: 56 http://deb.debian.org/debian bookworm/main i386 python3-packaging all 23.0-1 [32.5 kB]
Get: 57 http://deb.debian.org/debian bookworm/main i386 python3-tomli all 2.0.1-2 [17.9 kB]
Get: 58 http://deb.debian.org/debian bookworm/main i386 python3-pep517 all 0.13.0-2 [17.4 kB]
Get: 59 http://deb.debian.org/debian bookworm/main i386 python3-toml all 0.10.2-1 [16.2 kB]
Get: 60 http://deb.debian.org/debian bookworm/main i386 python3-wheel all 0.38.4-2 [30.8 kB]
Get: 61 http://deb.debian.org/debian bookworm/main i386 python3-build all 0.9.0-1 [20.7 kB]
Get: 62 http://deb.debian.org/debian bookworm/main i386 python3-installer all 0.6.0+dfsg1-1 [18.1 kB]
Get: 63 http://deb.debian.org/debian bookworm/main i386 pybuild-plugin-pyproject all 5.20230130 [9092 B]
Get: 64 http://deb.debian.org/debian bookworm/main i386 python3-asgiref all 3.6.0-1 [27.6 kB]
Get: 65 http://deb.debian.org/debian bookworm/main i386 python3-six all 1.16.0-4 [17.5 kB]
Get: 66 http://deb.debian.org/debian bookworm/main i386 python3-asttokens all 2.2.1-1 [19.8 kB]
Get: 67 http://deb.debian.org/debian bookworm/main i386 python3-attr all 22.2.0-1 [65.4 kB]
Get: 68 http://deb.debian.org/debian bookworm/main i386 python3-backcall all 0.2.0-4 [12.1 kB]
Get: 69 http://deb.debian.org/debian bookworm/main i386 python3-blinker all 1.5-1 [14.7 kB]
Get: 70 http://deb.debian.org/debian bookworm/main i386 python3-boolean all 4.0-4 [22.6 kB]
Get: 71 http://deb.debian.org/debian bookworm/main i386 python3-certifi all 2022.9.24-1 [153 kB]
Get: 72 http://deb.debian.org/debian bookworm/main i386 python3-charset-normalizer all 3.0.1-2 [49.3 kB]
Get: 73 http://deb.debian.org/debian bookworm/main i386 python3-idna all 3.3-1 [39.4 kB]
Get: 74 http://deb.debian.org/debian bookworm/main i386 python3-urllib3 all 1.26.12-1 [117 kB]
Get: 75 http://deb.debian.org/debian bookworm/main i386 python3-pkg-resources all 66.1.1-1 [296 kB]
Get: 76 http://deb.debian.org/debian bookworm/main i386 python3-chardet all 5.1.0+dfsg-2 [110 kB]
Get: 77 http://deb.debian.org/debian bookworm/main i386 python3-requests all 2.28.1+dfsg-1 [67.9 kB]
Get: 78 http://deb.debian.org/debian bookworm/main i386 python3-msgpack i386 1.0.3-2+b1 [70.0 kB]
Get: 79 http://deb.debian.org/debian bookworm/main i386 python3-cachecontrol all 0.12.12-2 [17.9 kB]
Get: 80 http://deb.debian.org/debian bookworm/main i386 python3-cerberus all 1.3.2-2 [42.0 kB]
Get: 81 http://deb.debian.org/debian bookworm/main i386 python3-coverage i386 6.5.0+dfsg1-2+b1 [153 kB]
Get: 82 http://deb.debian.org/debian bookworm/main i386 python3-decorator all 5.1.1-3 [14.9 kB]
Get: 83 http://deb.debian.org/debian bookworm/main i386 python3-distlib all 0.3.6-1 [257 kB]
Get: 84 http://deb.debian.org/debian bookworm/main i386 python3-sqlparse all 0.4.2-1 [37.6 kB]
Get: 85 http://deb.debian.org/debian bookworm/main i386 python3-tz all 2022.7.1-3 [30.1 kB]
Get: 86 http://deb.debian.org/debian bookworm/main i386 python3-django all 3:3.2.18-1 [2826 kB]
Get: 87 http://deb.debian.org/debian bookworm/main i386 python3-dotenv all 0.21.0-1 [24.9 kB]
Get: 88 http://deb.debian.org/debian bookworm/main i386 python3-execnet all 1.9.0-1 [41.5 kB]
Get: 89 http://deb.debian.org/debian bookworm/main i386 python3-executing all 1.2.0-2 [22.6 kB]
Get: 90 http://deb.debian.org/debian bookworm/main i386 python3-filelock all 3.9.0-1 [9460 B]
Get: 91 http://deb.debian.org/debian bookworm/main i386 python3-findpython all 0.2.4-1 [14.8 kB]
Get: 92 http://deb.debian.org/debian bookworm/main i386 python3-first all 2.0.0-3 [6528 B]
Get: 93 http://deb.debian.org/debian bookworm/main i386 python3-iniconfig all 1.1.1-2 [6396 B]
Get: 94 http://deb.debian.org/debian bookworm/main i386 python3-parso all 0.8.3-1 [67.4 kB]
Get: 95 http://deb.debian.org/debian bookworm/main i386 python3-jedi all 0.18.2-1 [689 kB]
Get: 96 http://deb.debian.org/debian bookworm/main i386 python3-traitlets all 5.5.0-1 [92.4 kB]
Get: 97 http://deb.debian.org/debian bookworm/main i386 python3-matplotlib-inline all 0.1.6-2 [8652 B]
Get: 98 http://deb.debian.org/debian bookworm/main i386 python3-ptyprocess all 0.7.0-5 [14.7 kB]
Get: 99 http://deb.debian.org/debian bookworm/main i386 python3-pexpect all 4.8.0-4 [52.9 kB]
Get: 100 http://deb.debian.org/debian bookworm/main i386 python3-pickleshare all 0.7.5-5 [7600 B]
Get: 101 http://deb.debian.org/debian bookworm/main i386 python3-wcwidth all 0.2.5+dfsg1-1.1 [21.4 kB]
Get: 102 http://deb.debian.org/debian bookworm/main i386 python3-prompt-toolkit all 3.0.36-2 [276 kB]
Get: 103 http://deb.debian.org/debian bookworm/main i386 python3-pygments all 2.14.0+dfsg-1 [783 kB]
Get: 104 http://deb.debian.org/debian bookworm/main i386 python3-pure-eval all 0.2.2-1 [11.2 kB]
Get: 105 http://deb.debian.org/debian bookworm/main i386 python3-stack-data all 0.6.2-3 [21.8 kB]
Get: 106 http://deb.debian.org/debian bookworm/main i386 python3-setuptools all 66.1.1-1 [521 kB]
Get: 107 http://deb.debian.org/debian bookworm/main i386 python3-ipython all 8.5.0-4 [517 kB]
Get: 108 http://deb.debian.org/debian bookworm/main i386 python3-license-expression all 30.1.0-1 [87.9 kB]
Get: 109 http://deb.debian.org/debian bookworm/main i386 python3-mdurl all 0.1.2-1 [9444 B]
Get: 110 http://deb.debian.org/debian bookworm/main i386 python3-markdown-it all 2.1.0-5 [58.8 kB]
Get: 111 http://deb.debian.org/debian bookworm/main i386 python3-pyparsing all 3.0.9-1 [138 kB]
Get: 112 http://deb.debian.org/debian bookworm/main i386 python3-tomli-w all 1.0.0-2 [8012 B]
Get: 113 http://deb.debian.org/debian bookworm/main i386 python3-pdm-pep517 all 1.1.2+ds1-1 [36.4 kB]
Get: 114 http://deb.debian.org/debian bookworm/main i386 python3-pip all 23.0.1+dfsg-1 [1325 kB]
Get: 115 http://deb.debian.org/debian bookworm/main i386 python3-pip-whl all 23.0.1+dfsg-1 [1717 kB]
Get: 116 http://deb.debian.org/debian bookworm/main i386 python3-platformdirs all 2.6.0-1 [16.3 kB]
Get: 117 http://deb.debian.org/debian bookworm/main i386 python3-pluggy all 1.0.0+repack-1 [19.7 kB]
Get: 118 http://deb.debian.org/debian bookworm/main i386 python3-py all 1.11.0-1 [89.2 kB]
Get: 119 http://deb.debian.org/debian bookworm/main i386 python3-pytest all 7.2.1-2 [236 kB]
Get: 120 http://deb.debian.org/debian bookworm/main i386 python3-pytest-cov all 4.0.0-1 [26.1 kB]
Get: 121 http://deb.debian.org/debian bookworm/main i386 python3-pytest-mock all 3.8.2-3 [16.5 kB]
Get: 122 http://deb.debian.org/debian bookworm/main i386 python3-pytest-rerunfailures all 10.2-2 [14.1 kB]
Get: 123 http://deb.debian.org/debian bookworm/main i386 python3-pytest-xdist all 3.1.0-1 [39.6 kB]
Get: 124 http://deb.debian.org/debian bookworm/main i386 python3-requests-toolbelt all 0.10.1-1 [41.3 kB]
Get: 125 http://deb.debian.org/debian bookworm/main i386 python3-resolvelib all 0.9.0-2 [27.3 kB]
Get: 126 http://deb.debian.org/debian bookworm/main i386 python3-rich all 13.3.1-1 [202 kB]
Get: 127 http://deb.debian.org/debian bookworm/main i386 python3-setuptools-whl all 66.1.1-1 [1111 kB]
Get: 128 http://deb.debian.org/debian bookworm/main i386 python3-shellingham all 1.5.0-1 [10.7 kB]
Get: 129 http://deb.debian.org/debian bookworm/main i386 python3-tomlkit all 0.11.7-1 [40.5 kB]
Get: 130 http://deb.debian.org/debian bookworm/main i386 python3-unearth all 0.7.2+ds-2 [30.9 kB]
Get: 131 http://deb.debian.org/debian bookworm/main i386 python3-wheel-whl all 0.38.4-2 [38.6 kB]
Get: 132 http://deb.debian.org/debian bookworm/main i386 python3-virtualenv all 20.17.1+ds-1 [93.9 kB]
Fetched 40.5 MB in 1s (28.7 MB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package libjs-jquery.
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 19604 files and directories currently installed.)
Preparing to unpack .../libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ...
Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ...
Selecting previously unselected package libjs-jquery-hotkeys.
Preparing to unpack .../libjs-jquery-hotkeys_0~20130707+git2d51e3a9+dfsg-2.1_all.deb ...
Unpacking libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ...
Selecting previously unselected package libpython3.11-minimal:i386.
Preparing to unpack .../libpython3.11-minimal_3.11.2-6_i386.deb ...
Unpacking libpython3.11-minimal:i386 (3.11.2-6) ...
Selecting previously unselected package libexpat1:i386.
Preparing to unpack .../libexpat1_2.5.0-1_i386.deb ...
Unpacking libexpat1:i386 (2.5.0-1) ...
Selecting previously unselected package python3.11-minimal.
Preparing to unpack .../python3.11-minimal_3.11.2-6_i386.deb ...
Unpacking python3.11-minimal (3.11.2-6) ...
Setting up libpython3.11-minimal:i386 (3.11.2-6) ...
Setting up libexpat1:i386 (2.5.0-1) ...
Setting up python3.11-minimal (3.11.2-6) ...
Selecting previously unselected package python3-minimal.
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 19946 files and directories currently installed.)
Preparing to unpack .../0-python3-minimal_3.11.2-1+b1_i386.deb ...
Unpacking python3-minimal (3.11.2-1+b1) ...
Selecting previously unselected package media-types.
Preparing to unpack .../1-media-types_10.0.0_all.deb ...
Unpacking media-types (10.0.0) ...
Selecting previously unselected package readline-common.
Preparing to unpack .../2-readline-common_8.2-1.3_all.deb ...
Unpacking readline-common (8.2-1.3) ...
Selecting previously unselected package libreadline8:i386.
Preparing to unpack .../3-libreadline8_8.2-1.3_i386.deb ...
Unpacking libreadline8:i386 (8.2-1.3) ...
Selecting previously unselected package libpython3.11-stdlib:i386.
Preparing to unpack .../4-libpython3.11-stdlib_3.11.2-6_i386.deb ...
Unpacking libpython3.11-stdlib:i386 (3.11.2-6) ...
Selecting previously unselected package python3.11.
Preparing to unpack .../5-python3.11_3.11.2-6_i386.deb ...
Unpacking python3.11 (3.11.2-6) ...
Selecting previously unselected package libpython3-stdlib:i386.
Preparing to unpack .../6-libpython3-stdlib_3.11.2-1+b1_i386.deb ...
Unpacking libpython3-stdlib:i386 (3.11.2-1+b1) ...
Setting up python3-minimal (3.11.2-1+b1) ...
Selecting previously unselected package python3.
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 20380 files and directories currently installed.)
Preparing to unpack .../000-python3_3.11.2-1+b1_i386.deb ...
Unpacking python3 (3.11.2-1+b1) ...
Selecting previously unselected package sensible-utils.
Preparing to unpack .../001-sensible-utils_0.0.17+nmu1_all.deb ...
Unpacking sensible-utils (0.0.17+nmu1) ...
Selecting previously unselected package openssl.
Preparing to unpack .../002-openssl_3.0.8-1_i386.deb ...
Unpacking openssl (3.0.8-1) ...
Selecting previously unselected package ca-certificates.
Preparing to unpack .../003-ca-certificates_20230311_all.deb ...
Unpacking ca-certificates (20230311) ...
Selecting previously unselected package libmagic-mgc.
Preparing to unpack .../004-libmagic-mgc_1%3a5.44-3_i386.deb ...
Unpacking libmagic-mgc (1:5.44-3) ...
Selecting previously unselected package libmagic1:i386.
Preparing to unpack .../005-libmagic1_1%3a5.44-3_i386.deb ...
Unpacking libmagic1:i386 (1:5.44-3) ...
Selecting previously unselected package file.
Preparing to unpack .../006-file_1%3a5.44-3_i386.deb ...
Unpacking file (1:5.44-3) ...
Selecting previously unselected package gettext-base.
Preparing to unpack .../007-gettext-base_0.21-12_i386.deb ...
Unpacking gettext-base (0.21-12) ...
Selecting previously unselected package libuchardet0:i386.
Preparing to unpack .../008-libuchardet0_0.0.7-1_i386.deb ...
Unpacking libuchardet0:i386 (0.0.7-1) ...
Selecting previously unselected package groff-base.
Preparing to unpack .../009-groff-base_1.22.4-10_i386.deb ...
Unpacking groff-base (1.22.4-10) ...
Selecting previously unselected package bsdextrautils.
Preparing to unpack .../010-bsdextrautils_2.38.1-5+b1_i386.deb ...
Unpacking bsdextrautils (2.38.1-5+b1) ...
Selecting previously unselected package libpipeline1:i386.
Preparing to unpack .../011-libpipeline1_1.5.7-1_i386.deb ...
Unpacking libpipeline1:i386 (1.5.7-1) ...
Selecting previously unselected package man-db.
Preparing to unpack .../012-man-db_2.11.2-2_i386.deb ...
Unpacking man-db (2.11.2-2) ...
Selecting previously unselected package m4.
Preparing to unpack .../013-m4_1.4.19-3_i386.deb ...
Unpacking m4 (1.4.19-3) ...
Selecting previously unselected package autoconf.
Preparing to unpack .../014-autoconf_2.71-3_all.deb ...
Unpacking autoconf (2.71-3) ...
Selecting previously unselected package autotools-dev.
Preparing to unpack .../015-autotools-dev_20220109.1_all.deb ...
Unpacking autotools-dev (20220109.1) ...
Selecting previously unselected package automake.
Preparing to unpack .../016-automake_1%3a1.16.5-1.3_all.deb ...
Unpacking automake (1:1.16.5-1.3) ...
Selecting previously unselected package autopoint.
Preparing to unpack .../017-autopoint_0.21-12_all.deb ...
Unpacking autopoint (0.21-12) ...
Selecting previously unselected package libdebhelper-perl.
Preparing to unpack .../018-libdebhelper-perl_13.11.4_all.deb ...
Unpacking libdebhelper-perl (13.11.4) ...
Selecting previously unselected package libtool.
Preparing to unpack .../019-libtool_2.4.7-5_all.deb ...
Unpacking libtool (2.4.7-5) ...
Selecting previously unselected package dh-autoreconf.
Preparing to unpack .../020-dh-autoreconf_20_all.deb ...
Unpacking dh-autoreconf (20) ...
Selecting previously unselected package libarchive-zip-perl.
Preparing to unpack .../021-libarchive-zip-perl_1.68-1_all.deb ...
Unpacking libarchive-zip-perl (1.68-1) ...
Selecting previously unselected package libsub-override-perl.
Preparing to unpack .../022-libsub-override-perl_0.09-4_all.deb ...
Unpacking libsub-override-perl (0.09-4) ...
Selecting previously unselected package libfile-stripnondeterminism-perl.
Preparing to unpack .../023-libfile-stripnondeterminism-perl_1.13.1-1_all.deb ...
Unpacking libfile-stripnondeterminism-perl (1.13.1-1) ...
Selecting previously unselected package dh-strip-nondeterminism.
Preparing to unpack .../024-dh-strip-nondeterminism_1.13.1-1_all.deb ...
Unpacking dh-strip-nondeterminism (1.13.1-1) ...
Selecting previously unselected package libelf1:i386.
Preparing to unpack .../025-libelf1_0.188-2.1_i386.deb ...
Unpacking libelf1:i386 (0.188-2.1) ...
Selecting previously unselected package dwz.
Preparing to unpack .../026-dwz_0.15-1_i386.deb ...
Unpacking dwz (0.15-1) ...
Selecting previously unselected package libicu72:i386.
Preparing to unpack .../027-libicu72_72.1-3_i386.deb ...
Unpacking libicu72:i386 (72.1-3) ...
Selecting previously unselected package libxml2:i386.
Preparing to unpack .../028-libxml2_2.9.14+dfsg-1.2_i386.deb ...
Unpacking libxml2:i386 (2.9.14+dfsg-1.2) ...
Selecting previously unselected package gettext.
Preparing to unpack .../029-gettext_0.21-12_i386.deb ...
Unpacking gettext (0.21-12) ...
Selecting previously unselected package intltool-debian.
Preparing to unpack .../030-intltool-debian_0.35.0+20060710.6_all.deb ...
Unpacking intltool-debian (0.35.0+20060710.6) ...
Selecting previously unselected package po-debconf.
Preparing to unpack .../031-po-debconf_1.0.21+nmu1_all.deb ...
Unpacking po-debconf (1.0.21+nmu1) ...
Selecting previously unselected package debhelper.
Preparing to unpack .../032-debhelper_13.11.4_all.deb ...
Unpacking debhelper (13.11.4) ...
Selecting previously unselected package python3-lib2to3.
Preparing to unpack .../033-python3-lib2to3_3.11.2-2_all.deb ...
Unpacking python3-lib2to3 (3.11.2-2) ...
Selecting previously unselected package python3-distutils.
Preparing to unpack .../034-python3-distutils_3.11.2-2_all.deb ...
Unpacking python3-distutils (3.11.2-2) ...
Selecting previously unselected package dh-python.
Preparing to unpack .../035-dh-python_5.20230130_all.deb ...
Unpacking dh-python (5.20230130) ...
Selecting previously unselected package libjs-jquery-isonscreen.
Preparing to unpack .../036-libjs-jquery-isonscreen_1.2.0-1.1_all.deb ...
Unpacking libjs-jquery-isonscreen (1.2.0-1.1) ...
Selecting previously unselected package libjs-jquery-metadata.
Preparing to unpack .../037-libjs-jquery-metadata_12-4_all.deb ...
Unpacking libjs-jquery-metadata (12-4) ...
Selecting previously unselected package libjs-jquery-tablesorter.
Preparing to unpack .../038-libjs-jquery-tablesorter_1%3a2.31.3+dfsg1-3_all.deb ...
Unpacking libjs-jquery-tablesorter (1:2.31.3+dfsg1-3) ...
Selecting previously unselected package libjs-jquery-throttle-debounce.
Preparing to unpack .../039-libjs-jquery-throttle-debounce_1.1+dfsg.1-2_all.deb ...
Unpacking libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ...
Selecting previously unselected package python3-more-itertools.
Preparing to unpack .../040-python3-more-itertools_8.10.0-2_all.deb ...
Unpacking python3-more-itertools (8.10.0-2) ...
Selecting previously unselected package python3-zipp.
Preparing to unpack .../041-python3-zipp_1.0.0-6_all.deb ...
Unpacking python3-zipp (1.0.0-6) ...
Selecting previously unselected package python3-importlib-metadata.
Preparing to unpack .../042-python3-importlib-metadata_4.12.0-1_all.deb ...
Unpacking python3-importlib-metadata (4.12.0-1) ...
Selecting previously unselected package python3-packaging.
Preparing to unpack .../043-python3-packaging_23.0-1_all.deb ...
Unpacking python3-packaging (23.0-1) ...
Selecting previously unselected package python3-tomli.
Preparing to unpack .../044-python3-tomli_2.0.1-2_all.deb ...
Unpacking python3-tomli (2.0.1-2) ...
Selecting previously unselected package python3-pep517.
Preparing to unpack .../045-python3-pep517_0.13.0-2_all.deb ...
Unpacking python3-pep517 (0.13.0-2) ...
Selecting previously unselected package python3-toml.
Preparing to unpack .../046-python3-toml_0.10.2-1_all.deb ...
Unpacking python3-toml (0.10.2-1) ...
Selecting previously unselected package python3-wheel.
Preparing to unpack .../047-python3-wheel_0.38.4-2_all.deb ...
Unpacking python3-wheel (0.38.4-2) ...
Selecting previously unselected package python3-build.
Preparing to unpack .../048-python3-build_0.9.0-1_all.deb ...
Unpacking python3-build (0.9.0-1) ...
Selecting previously unselected package python3-installer.
Preparing to unpack .../049-python3-installer_0.6.0+dfsg1-1_all.deb ...
Unpacking python3-installer (0.6.0+dfsg1-1) ...
Selecting previously unselected package pybuild-plugin-pyproject.
Preparing to unpack .../050-pybuild-plugin-pyproject_5.20230130_all.deb ...
Unpacking pybuild-plugin-pyproject (5.20230130) ...
Selecting previously unselected package python3-asgiref.
Preparing to unpack .../051-python3-asgiref_3.6.0-1_all.deb ...
Unpacking python3-asgiref (3.6.0-1) ...
Selecting previously unselected package python3-six.
Preparing to unpack .../052-python3-six_1.16.0-4_all.deb ...
Unpacking python3-six (1.16.0-4) ...
Selecting previously unselected package python3-asttokens.
Preparing to unpack .../053-python3-asttokens_2.2.1-1_all.deb ...
Unpacking python3-asttokens (2.2.1-1) ...
Selecting previously unselected package python3-attr.
Preparing to unpack .../054-python3-attr_22.2.0-1_all.deb ...
Unpacking python3-attr (22.2.0-1) ...
Selecting previously unselected package python3-backcall.
Preparing to unpack .../055-python3-backcall_0.2.0-4_all.deb ...
Unpacking python3-backcall (0.2.0-4) ...
Selecting previously unselected package python3-blinker.
Preparing to unpack .../056-python3-blinker_1.5-1_all.deb ...
Unpacking python3-blinker (1.5-1) ...
Selecting previously unselected package python3-boolean.
Preparing to unpack .../057-python3-boolean_4.0-4_all.deb ...
Unpacking python3-boolean (4.0-4) ...
Selecting previously unselected package python3-certifi.
Preparing to unpack .../058-python3-certifi_2022.9.24-1_all.deb ...
Unpacking python3-certifi (2022.9.24-1) ...
Selecting previously unselected package python3-charset-normalizer.
Preparing to unpack .../059-python3-charset-normalizer_3.0.1-2_all.deb ...
Unpacking python3-charset-normalizer (3.0.1-2) ...
Selecting previously unselected package python3-idna.
Preparing to unpack .../060-python3-idna_3.3-1_all.deb ...
Unpacking python3-idna (3.3-1) ...
Selecting previously unselected package python3-urllib3.
Preparing to unpack .../061-python3-urllib3_1.26.12-1_all.deb ...
Unpacking python3-urllib3 (1.26.12-1) ...
Selecting previously unselected package python3-pkg-resources.
Preparing to unpack .../062-python3-pkg-resources_66.1.1-1_all.deb ...
Unpacking python3-pkg-resources (66.1.1-1) ...
Selecting previously unselected package python3-chardet.
Preparing to unpack .../063-python3-chardet_5.1.0+dfsg-2_all.deb ...
Unpacking python3-chardet (5.1.0+dfsg-2) ...
Selecting previously unselected package python3-requests.
Preparing to unpack .../064-python3-requests_2.28.1+dfsg-1_all.deb ...
Unpacking python3-requests (2.28.1+dfsg-1) ...
Selecting previously unselected package python3-msgpack.
Preparing to unpack .../065-python3-msgpack_1.0.3-2+b1_i386.deb ...
Unpacking python3-msgpack (1.0.3-2+b1) ...
Selecting previously unselected package python3-cachecontrol.
Preparing to unpack .../066-python3-cachecontrol_0.12.12-2_all.deb ...
Unpacking python3-cachecontrol (0.12.12-2) ...
Selecting previously unselected package python3-cerberus.
Preparing to unpack .../067-python3-cerberus_1.3.2-2_all.deb ...
Unpacking python3-cerberus (1.3.2-2) ...
Selecting previously unselected package python3-coverage.
Preparing to unpack .../068-python3-coverage_6.5.0+dfsg1-2+b1_i386.deb ...
Unpacking python3-coverage (6.5.0+dfsg1-2+b1) ...
Selecting previously unselected package python3-decorator.
Preparing to unpack .../069-python3-decorator_5.1.1-3_all.deb ...
Unpacking python3-decorator (5.1.1-3) ...
Selecting previously unselected package python3-distlib.
Preparing to unpack .../070-python3-distlib_0.3.6-1_all.deb ...
Unpacking python3-distlib (0.3.6-1) ...
Selecting previously unselected package python3-sqlparse.
Preparing to unpack .../071-python3-sqlparse_0.4.2-1_all.deb ...
Unpacking python3-sqlparse (0.4.2-1) ...
Selecting previously unselected package python3-tz.
Preparing to unpack .../072-python3-tz_2022.7.1-3_all.deb ...
Unpacking python3-tz (2022.7.1-3) ...
Selecting previously unselected package python3-django.
Preparing to unpack .../073-python3-django_3%3a3.2.18-1_all.deb ...
Unpacking python3-django (3:3.2.18-1) ...
Selecting previously unselected package python3-dotenv.
Preparing to unpack .../074-python3-dotenv_0.21.0-1_all.deb ...
Unpacking python3-dotenv (0.21.0-1) ...
Selecting previously unselected package python3-execnet.
Preparing to unpack .../075-python3-execnet_1.9.0-1_all.deb ...
Unpacking python3-execnet (1.9.0-1) ...
Selecting previously unselected package python3-executing.
Preparing to unpack .../076-python3-executing_1.2.0-2_all.deb ...
Unpacking python3-executing (1.2.0-2) ...
Selecting previously unselected package python3-filelock.
Preparing to unpack .../077-python3-filelock_3.9.0-1_all.deb ...
Unpacking python3-filelock (3.9.0-1) ...
Selecting previously unselected package python3-findpython.
Preparing to unpack .../078-python3-findpython_0.2.4-1_all.deb ...
Unpacking python3-findpython (0.2.4-1) ...
Selecting previously unselected package python3-first.
Preparing to unpack .../079-python3-first_2.0.0-3_all.deb ...
Unpacking python3-first (2.0.0-3) ...
Selecting previously unselected package python3-iniconfig.
Preparing to unpack .../080-python3-iniconfig_1.1.1-2_all.deb ...
Unpacking python3-iniconfig (1.1.1-2) ...
Selecting previously unselected package python3-parso.
Preparing to unpack .../081-python3-parso_0.8.3-1_all.deb ...
Unpacking python3-parso (0.8.3-1) ...
Selecting previously unselected package python3-jedi.
Preparing to unpack .../082-python3-jedi_0.18.2-1_all.deb ...
Unpacking python3-jedi (0.18.2-1) ...
Selecting previously unselected package python3-traitlets.
Preparing to unpack .../083-python3-traitlets_5.5.0-1_all.deb ...
Unpacking python3-traitlets (5.5.0-1) ...
Selecting previously unselected package python3-matplotlib-inline.
Preparing to unpack .../084-python3-matplotlib-inline_0.1.6-2_all.deb ...
Unpacking python3-matplotlib-inline (0.1.6-2) ...
Selecting previously unselected package python3-ptyprocess.
Preparing to unpack .../085-python3-ptyprocess_0.7.0-5_all.deb ...
Unpacking python3-ptyprocess (0.7.0-5) ...
Selecting previously unselected package python3-pexpect.
Preparing to unpack .../086-python3-pexpect_4.8.0-4_all.deb ...
Unpacking python3-pexpect (4.8.0-4) ...
Selecting previously unselected package python3-pickleshare.
Preparing to unpack .../087-python3-pickleshare_0.7.5-5_all.deb ...
Unpacking python3-pickleshare (0.7.5-5) ...
Selecting previously unselected package python3-wcwidth.
Preparing to unpack .../088-python3-wcwidth_0.2.5+dfsg1-1.1_all.deb ...
Unpacking python3-wcwidth (0.2.5+dfsg1-1.1) ...
Selecting previously unselected package python3-prompt-toolkit.
Preparing to unpack .../089-python3-prompt-toolkit_3.0.36-2_all.deb ...
Unpacking python3-prompt-toolkit (3.0.36-2) ...
Selecting previously unselected package python3-pygments.
Preparing to unpack .../090-python3-pygments_2.14.0+dfsg-1_all.deb ...
Unpacking python3-pygments (2.14.0+dfsg-1) ...
Selecting previously unselected package python3-pure-eval.
Preparing to unpack .../091-python3-pure-eval_0.2.2-1_all.deb ...
Unpacking python3-pure-eval (0.2.2-1) ...
Selecting previously unselected package python3-stack-data.
Preparing to unpack .../092-python3-stack-data_0.6.2-3_all.deb ...
Unpacking python3-stack-data (0.6.2-3) ...
Selecting previously unselected package python3-setuptools.
Preparing to unpack .../093-python3-setuptools_66.1.1-1_all.deb ...
Unpacking python3-setuptools (66.1.1-1) ...
Selecting previously unselected package python3-ipython.
Preparing to unpack .../094-python3-ipython_8.5.0-4_all.deb ...
Unpacking python3-ipython (8.5.0-4) ...
Selecting previously unselected package python3-license-expression.
Preparing to unpack .../095-python3-license-expression_30.1.0-1_all.deb ...
Unpacking python3-license-expression (30.1.0-1) ...
Selecting previously unselected package python3-mdurl.
Preparing to unpack .../096-python3-mdurl_0.1.2-1_all.deb ...
Unpacking python3-mdurl (0.1.2-1) ...
Selecting previously unselected package python3-markdown-it.
Preparing to unpack .../097-python3-markdown-it_2.1.0-5_all.deb ...
Unpacking python3-markdown-it (2.1.0-5) ...
Selecting previously unselected package python3-pyparsing.
Preparing to unpack .../098-python3-pyparsing_3.0.9-1_all.deb ...
Unpacking python3-pyparsing (3.0.9-1) ...
Selecting previously unselected package python3-tomli-w.
Preparing to unpack .../099-python3-tomli-w_1.0.0-2_all.deb ...
Unpacking python3-tomli-w (1.0.0-2) ...
Selecting previously unselected package python3-pdm-pep517.
Preparing to unpack .../100-python3-pdm-pep517_1.1.2+ds1-1_all.deb ...
Unpacking python3-pdm-pep517 (1.1.2+ds1-1) ...
Selecting previously unselected package python3-pip.
Preparing to unpack .../101-python3-pip_23.0.1+dfsg-1_all.deb ...
Unpacking python3-pip (23.0.1+dfsg-1) ...
Selecting previously unselected package python3-pip-whl.
Preparing to unpack .../102-python3-pip-whl_23.0.1+dfsg-1_all.deb ...
Unpacking python3-pip-whl (23.0.1+dfsg-1) ...
Selecting previously unselected package python3-platformdirs.
Preparing to unpack .../103-python3-platformdirs_2.6.0-1_all.deb ...
Unpacking python3-platformdirs (2.6.0-1) ...
Selecting previously unselected package python3-pluggy.
Preparing to unpack .../104-python3-pluggy_1.0.0+repack-1_all.deb ...
Unpacking python3-pluggy (1.0.0+repack-1) ...
Selecting previously unselected package python3-py.
Preparing to unpack .../105-python3-py_1.11.0-1_all.deb ...
Unpacking python3-py (1.11.0-1) ...
Selecting previously unselected package python3-pytest.
Preparing to unpack .../106-python3-pytest_7.2.1-2_all.deb ...
Unpacking python3-pytest (7.2.1-2) ...
Selecting previously unselected package python3-pytest-cov.
Preparing to unpack .../107-python3-pytest-cov_4.0.0-1_all.deb ...
Unpacking python3-pytest-cov (4.0.0-1) ...
Selecting previously unselected package python3-pytest-mock.
Preparing to unpack .../108-python3-pytest-mock_3.8.2-3_all.deb ...
Unpacking python3-pytest-mock (3.8.2-3) ...
Selecting previously unselected package python3-pytest-rerunfailures.
Preparing to unpack .../109-python3-pytest-rerunfailures_10.2-2_all.deb ...
Unpacking python3-pytest-rerunfailures (10.2-2) ...
Selecting previously unselected package python3-pytest-xdist.
Preparing to unpack .../110-python3-pytest-xdist_3.1.0-1_all.deb ...
Unpacking python3-pytest-xdist (3.1.0-1) ...
Selecting previously unselected package python3-requests-toolbelt.
Preparing to unpack .../111-python3-requests-toolbelt_0.10.1-1_all.deb ...
Unpacking python3-requests-toolbelt (0.10.1-1) ...
Selecting previously unselected package python3-resolvelib.
Preparing to unpack .../112-python3-resolvelib_0.9.0-2_all.deb ...
Unpacking python3-resolvelib (0.9.0-2) ...
Selecting previously unselected package python3-rich.
Preparing to unpack .../113-python3-rich_13.3.1-1_all.deb ...
Unpacking python3-rich (13.3.1-1) ...
Selecting previously unselected package python3-setuptools-whl.
Preparing to unpack .../114-python3-setuptools-whl_66.1.1-1_all.deb ...
Unpacking python3-setuptools-whl (66.1.1-1) ...
Selecting previously unselected package python3-shellingham.
Preparing to unpack .../115-python3-shellingham_1.5.0-1_all.deb ...
Unpacking python3-shellingham (1.5.0-1) ...
Selecting previously unselected package python3-tomlkit.
Preparing to unpack .../116-python3-tomlkit_0.11.7-1_all.deb ...
Unpacking python3-tomlkit (0.11.7-1) ...
Selecting previously unselected package python3-unearth.
Preparing to unpack .../117-python3-unearth_0.7.2+ds-2_all.deb ...
Unpacking python3-unearth (0.7.2+ds-2) ...
Selecting previously unselected package python3-wheel-whl.
Preparing to unpack .../118-python3-wheel-whl_0.38.4-2_all.deb ...
Unpacking python3-wheel-whl (0.38.4-2) ...
Selecting previously unselected package python3-virtualenv.
Preparing to unpack .../119-python3-virtualenv_20.17.1+ds-1_all.deb ...
Unpacking python3-virtualenv (20.17.1+ds-1) ...
Setting up media-types (10.0.0) ...
Setting up libpipeline1:i386 (1.5.7-1) ...
Setting up python3-setuptools-whl (66.1.1-1) ...
Setting up libicu72:i386 (72.1-3) ...
Setting up bsdextrautils (2.38.1-5+b1) ...
Setting up libmagic-mgc (1:5.44-3) ...
Setting up libarchive-zip-perl (1.68-1) ...
Setting up libdebhelper-perl (13.11.4) ...
Setting up libmagic1:i386 (1:5.44-3) ...
Setting up gettext-base (0.21-12) ...
Setting up m4 (1.4.19-3) ...
Setting up file (1:5.44-3) ...
Setting up libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ...
Setting up autotools-dev (20220109.1) ...
Setting up autopoint (0.21-12) ...
Setting up autoconf (2.71-3) ...
Setting up sensible-utils (0.0.17+nmu1) ...
Setting up libuchardet0:i386 (0.0.7-1) ...
Setting up libsub-override-perl (0.09-4) ...
Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ...
Setting up libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ...
Setting up openssl (3.0.8-1) ...
Setting up python3-wheel-whl (0.38.4-2) ...
Setting up libelf1:i386 (0.188-2.1) ...
Setting up readline-common (8.2-1.3) ...
Setting up libxml2:i386 (2.9.14+dfsg-1.2) ...
Setting up automake (1:1.16.5-1.3) ...
update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode
Setting up libfile-stripnondeterminism-perl (1.13.1-1) ...
Setting up gettext (0.21-12) ...
Setting up libtool (2.4.7-5) ...
Setting up libreadline8:i386 (8.2-1.3) ...
Setting up intltool-debian (0.35.0+20060710.6) ...
Setting up dh-autoreconf (20) ...
Setting up ca-certificates (20230311) ...
Updating certificates in /etc/ssl/certs...
140 added, 0 removed; done.
Setting up libjs-jquery-metadata (12-4) ...
Setting up libjs-jquery-isonscreen (1.2.0-1.1) ...
Setting up dh-strip-nondeterminism (1.13.1-1) ...
Setting up dwz (0.15-1) ...
Setting up libjs-jquery-tablesorter (1:2.31.3+dfsg1-3) ...
Setting up groff-base (1.22.4-10) ...
Setting up python3-pip-whl (23.0.1+dfsg-1) ...
Setting up po-debconf (1.0.21+nmu1) ...
Setting up libpython3.11-stdlib:i386 (3.11.2-6) ...
Setting up man-db (2.11.2-2) ...
Not building database; man-db/auto-update is not 'true'.
Setting up libpython3-stdlib:i386 (3.11.2-1+b1) ...
Setting up python3.11 (3.11.2-6) ...
Setting up debhelper (13.11.4) ...
Setting up python3 (3.11.2-1+b1) ...
Setting up python3-distlib (0.3.6-1) ...
Setting up python3-platformdirs (2.6.0-1) ...
Setting up python3-tz (2022.7.1-3) ...
Setting up python3-six (1.16.0-4) ...
Setting up python3-decorator (5.1.1-3) ...
Setting up python3-packaging (23.0-1) ...
Setting up python3-sqlparse (0.4.2-1) ...
Setting up python3-wcwidth (0.2.5+dfsg1-1.1) ...
Setting up python3-pyparsing (3.0.9-1) ...
Setting up python3-certifi (2022.9.24-1) ...
Setting up python3-mdurl (0.1.2-1) ...
Setting up python3-idna (3.3-1) ...
Setting up python3-pickleshare (0.7.5-5) ...
Setting up python3-toml (0.10.2-1) ...
Setting up python3-installer (0.6.0+dfsg1-1) ...
Setting up python3-urllib3 (1.26.12-1) ...
Setting up python3-pluggy (1.0.0+repack-1) ...
Setting up python3-markdown-it (2.1.0-5) ...
Setting up python3-first (2.0.0-3) ...
Setting up python3-boolean (4.0-4) ...
Setting up python3-traitlets (5.5.0-1) ...
Setting up python3-license-expression (30.1.0-1) ...
Setting up python3-msgpack (1.0.3-2+b1) ...
Setting up python3-execnet (1.9.0-1) ...
Setting up python3-shellingham (1.5.0-1) ...
Setting up python3-tomlkit (0.11.7-1) ...
Setting up python3-lib2to3 (3.11.2-2) ...
Setting up python3-tomli-w (1.0.0-2) ...
Setting up python3-asgiref (3.6.0-1) ...
Setting up python3-ptyprocess (0.7.0-5) ...
Setting up python3-blinker (1.5-1) ...
Setting up python3-dotenv (0.21.0-1) ...
Setting up python3-pkg-resources (66.1.1-1) ...
Setting up python3-prompt-toolkit (3.0.36-2) ...
Setting up python3-distutils (3.11.2-2) ...
Setting up dh-python (5.20230130) ...
Setting up python3-more-itertools (8.10.0-2) ...
Setting up python3-iniconfig (1.1.1-2) ...
Setting up python3-attr (22.2.0-1) ...
Setting up python3-pure-eval (0.2.2-1) ...
Setting up python3-filelock (3.9.0-1) ...
Setting up python3-findpython (0.2.4-1) ...
Setting up python3-django (3:3.2.18-1) ...
Setting up python3-setuptools (66.1.1-1) ...
Setting up python3-tomli (2.0.1-2) ...
Setting up python3-py (1.11.0-1) ...
Setting up python3-backcall (0.2.0-4) ...
Setting up python3-parso (0.8.3-1) ...
Setting up python3-asttokens (2.2.1-1) ...
Setting up python3-charset-normalizer (3.0.1-2) ...
Setting up python3-pytest (7.2.1-2) ...
Setting up python3-cerberus (1.3.2-2) ...
Setting up python3-resolvelib (0.9.0-2) ...
Setting up python3-virtualenv (20.17.1+ds-1) ...
Setting up python3-coverage (6.5.0+dfsg1-2+b1) ...
Setting up python3-pytest-cov (4.0.0-1) ...
Setting up python3-zipp (1.0.0-6) ...
Setting up python3-pdm-pep517 (1.1.2+ds1-1) ...
Setting up python3-wheel (0.38.4-2) ...
Setting up python3-matplotlib-inline (0.1.6-2) ...
Setting up python3-pygments (2.14.0+dfsg-1) ...
Setting up python3-chardet (5.1.0+dfsg-2) ...
Setting up python3-executing (1.2.0-2) ...
Setting up python3-pexpect (4.8.0-4) ...
Setting up python3-requests (2.28.1+dfsg-1) ...
Setting up python3-pip (23.0.1+dfsg-1) ...
Setting up python3-pytest-mock (3.8.2-3) ...
Setting up python3-cachecontrol (0.12.12-2) ...
Setting up python3-unearth (0.7.2+ds-2) ...
Setting up python3-stack-data (0.6.2-3) ...
Setting up python3-pytest-rerunfailures (10.2-2) ...
Setting up python3-requests-toolbelt (0.10.1-1) ...
Setting up python3-importlib-metadata (4.12.0-1) ...
Setting up python3-pytest-xdist (3.1.0-1) ...
Setting up python3-jedi (0.18.2-1) ...
Setting up python3-rich (13.3.1-1) ...
Setting up python3-pep517 (0.13.0-2) ...
Setting up python3-ipython (8.5.0-4) ...
Setting up python3-build (0.9.0-1) ...
Setting up pybuild-plugin-pyproject (5.20230130) ...
Processing triggers for libc-bin (2.36-9) ...
Processing triggers for ca-certificates (20230311) ...
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
Reading package lists...
Building dependency tree...
Reading state information...
Reading extended state information...
Initializing package states...
Writing extended state information...
Building tag database...
 -> Finished parsing the build-deps
I: Building the package
I: Running cd /build/pdm-2.2.1+ds1/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S  > ../pdm_2.2.1+ds1-1_source.changes
dpkg-buildpackage: info: source package pdm
dpkg-buildpackage: info: source version 2.2.1+ds1-1
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Boyuan Yang <byang@debian.org>
 dpkg-source --before-build .
dpkg-buildpackage: info: host architecture i386
 debian/rules clean
dh clean --with python3 --buildsystem=pybuild
   dh_auto_clean -O--buildsystem=pybuild
	pybuild --clean -i python{version} -p 3.11
	rm -rf .pybuild/
	find . -name \*.pyc -exec rm {} \;
   dh_autoreconf_clean -O--buildsystem=pybuild
   dh_clean -O--buildsystem=pybuild
	rm -f debian/debhelper-build-stamp
	rm -rf debian/.debhelper/
	rm -f -- debian/python3-pdm.substvars debian/files
	rm -fr -- debian/python3-pdm/ debian/tmp/
	find .  \( \( \
		\( -path .\*/.git -o -path .\*/.svn -o -path .\*/.bzr -o -path .\*/.hg -o -path .\*/CVS -o -path .\*/.pc -o -path .\*/_darcs \) -prune -o -type f -a \
	        \( -name '#*#' -o -name '.*~' -o -name '*~' -o -name DEADJOE \
		 -o -name '*.orig' -o -name '*.rej' -o -name '*.bak' \
		 -o -name '.*.orig' -o -name .*.rej -o -name '.SUMS' \
		 -o -name TAGS -o \( -path '*/.deps/*' -a -name '*.P' \) \
		\) -exec rm -f {} + \) -o \
		\( -type d -a -name autom4te.cache -prune -exec rm -rf {} + \) \)
 debian/rules binary
dh binary --with python3 --buildsystem=pybuild
   dh_update_autotools_config -O--buildsystem=pybuild
   dh_autoreconf -O--buildsystem=pybuild
   dh_auto_configure -O--buildsystem=pybuild
	pybuild --configure -i python{version} -p 3.11
   dh_auto_build -O--buildsystem=pybuild
	pybuild --build -i python{version} -p 3.11
I: pybuild plugin_pyproject:107: Building wheel for python3.11 with "build" module
I: pybuild base:240: python3.11 -m build --skip-dependency-check --no-isolation --wheel --outdir /build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11 
* Building wheel...
 - Adding pdm/__main__.py
 - Adding pdm/__version__.py
 - Adding pdm/_types.py
 - Adding pdm/builders/__init__.py
 - Adding pdm/builders/base.py
 - Adding pdm/builders/editable.py
 - Adding pdm/builders/sdist.py
 - Adding pdm/builders/wheel.py
 - Adding pdm/cli/__init__.py
 - Adding pdm/cli/actions.py
 - Adding pdm/cli/commands/__init__.py
 - Adding pdm/cli/commands/add.py
 - Adding pdm/cli/commands/base.py
 - Adding pdm/cli/commands/build.py
 - Adding pdm/cli/commands/cache.py
 - Adding pdm/cli/commands/completion.py
 - Adding pdm/cli/commands/config.py
 - Adding pdm/cli/commands/export.py
 - Adding pdm/cli/commands/import_cmd.py
 - Adding pdm/cli/commands/info.py
 - Adding pdm/cli/commands/init.py
 - Adding pdm/cli/commands/install.py
 - Adding pdm/cli/commands/list.py
 - Adding pdm/cli/commands/lock.py
 - Adding pdm/cli/commands/publish/__init__.py
 - Adding pdm/cli/commands/publish/package.py
 - Adding pdm/cli/commands/publish/repository.py
 - Adding pdm/cli/commands/remove.py
 - Adding pdm/cli/commands/run.py
 - Adding pdm/cli/commands/search.py
 - Adding pdm/cli/commands/self_cmd.py
 - Adding pdm/cli/commands/show.py
 - Adding pdm/cli/commands/sync.py
 - Adding pdm/cli/commands/update.py
 - Adding pdm/cli/commands/use.py
 - Adding pdm/cli/commands/venv/__init__.py
 - Adding pdm/cli/commands/venv/activate.py
 - Adding pdm/cli/commands/venv/backends.py
 - Adding pdm/cli/commands/venv/create.py
 - Adding pdm/cli/commands/venv/list.py
 - Adding pdm/cli/commands/venv/purge.py
 - Adding pdm/cli/commands/venv/remove.py
 - Adding pdm/cli/commands/venv/utils.py
 - Adding pdm/cli/completions/__init__.py
 - Adding pdm/cli/completions/pdm.bash
 - Adding pdm/cli/completions/pdm.fish
 - Adding pdm/cli/completions/pdm.ps1
 - Adding pdm/cli/completions/pdm.zsh
 - Adding pdm/cli/hooks.py
 - Adding pdm/cli/options.py
 - Adding pdm/cli/utils.py
 - Adding pdm/compat.py
 - Adding pdm/core.py
 - Adding pdm/exceptions.py
 - Adding pdm/formats/__init__.py
 - Adding pdm/formats/base.py
 - Adding pdm/formats/flit.py
 - Adding pdm/formats/pipfile.py
 - Adding pdm/formats/poetry.py
 - Adding pdm/formats/requirements.py
 - Adding pdm/formats/setup_py.py
 - Adding pdm/installers/__init__.py
 - Adding pdm/installers/core.py
 - Adding pdm/installers/installers.py
 - Adding pdm/installers/manager.py
 - Adding pdm/installers/packages.py
 - Adding pdm/installers/synchronizers.py
 - Adding pdm/installers/uninstallers.py
 - Adding pdm/models/__init__.py
 - Adding pdm/models/auth.py
 - Adding pdm/models/caches.py
 - Adding pdm/models/candidates.py
 - Adding pdm/models/environment.py
 - Adding pdm/models/in_process/__init__.py
 - Adding pdm/models/in_process/get_abi_tag.py
 - Adding pdm/models/in_process/parse_setup.py
 - Adding pdm/models/in_process/pep508.py
 - Adding pdm/models/in_process/sysconfig_get_paths.py
 - Adding pdm/models/markers.py
 - Adding pdm/models/project_info.py
 - Adding pdm/models/python.py
 - Adding pdm/models/python_max_versions.json
 - Adding pdm/models/repositories.py
 - Adding pdm/models/requirements.py
 - Adding pdm/models/search.py
 - Adding pdm/models/session.py
 - Adding pdm/models/setup.py
 - Adding pdm/models/specifiers.py
 - Adding pdm/models/versions.py
 - Adding pdm/models/working_set.py
 - Adding pdm/pep582/sitecustomize.py
 - Adding pdm/project/__init__.py
 - Adding pdm/project/config.py
 - Adding pdm/project/core.py
 - Adding pdm/project/metadata.py
 - Adding pdm/py.typed
 - Adding pdm/resolver/__init__.py
 - Adding pdm/resolver/core.py
 - Adding pdm/resolver/providers.py
 - Adding pdm/resolver/python.py
 - Adding pdm/resolver/reporters.py
 - Adding pdm/signals.py
 - Adding pdm/termui.py
 - Adding pdm/utils.py
 - Adding pdm-2.2.1.dist-info/entry_points.txt
 - Adding pdm-2.2.1.dist-info/WHEEL
 - Adding pdm-2.2.1.dist-info/METADATA
 - Adding pdm-2.2.1.dist-info/licenses/LICENSE
Successfully built pdm-2.2.1-py3-none-any.whl
I: pybuild plugin_pyproject:119: Unpacking wheel built for python3.11 with "installer" module
   debian/rules override_dh_auto_test
make[1]: Entering directory '/build/pdm-2.2.1+ds1'
# Tests will fail due to missing artifacts
dh_auto_test
	pybuild --test --test-pytest -i python{version} -p 3.11
I: pybuild base:240: cd /build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build; python3.11 -m pytest tests
============================= test session starts ==============================
platform linux -- Python 3.11.2, pytest-7.2.1, pluggy-1.0.0+repack
rootdir: /build/pdm-2.2.1+ds1, configfile: pyproject.toml
plugins: rerunfailures-10.2, cov-4.0.0, mock-3.8.2, xdist-3.1.0
collected 596 items

tests/test_formats.py EEEEEEEEEEE                                        [  1%]
tests/test_installer.py EEEEEEEEEEE                                      [  3%]
tests/test_integration.py RRRFE                                          [  4%]
tests/test_plugin.py EE..                                                [  4%]
tests/test_project.py EEEEE..EEEEEEEEEEEEEEEE                            [  8%]
tests/test_signals.py EE                                                 [  8%]
tests/test_utils.py .............EEEEEEEEE.                              [ 12%]
tests/cli/test_add.py EEEEEEEEEEEEEEEEEEEEEEEE                           [ 16%]
tests/cli/test_build.py EEEEEEEEEEEEE                                    [ 18%]
tests/cli/test_cache.py EEEEEEEEEEEE                                     [ 20%]
tests/cli/test_config.py EEEEEE.EEEEEEEE                                 [ 23%]
tests/cli/test_hooks.py EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE [ 31%]
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE                              [ 38%]
tests/cli/test_init.py EEEEEEE                                           [ 39%]
tests/cli/test_install.py EEEEEEEEEEEEEEEEEEE                            [ 43%]
tests/cli/test_list.py EEEEEEEEEEEEEEEEEEEEEEEEEEE                       [ 47%]
tests/cli/test_lock.py EEEEEEEE                                          [ 48%]
tests/cli/test_others.py EE.E.E.EEEEEFFEEE.E                             [ 52%]
tests/cli/test_publish.py FFFFFFEEEEE                                    [ 54%]
tests/cli/test_remove.py EEEEEEEEEE                                      [ 55%]
tests/cli/test_run.py EEE..EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE               [ 61%]
tests/cli/test_self_command.py ........                                  [ 63%]
tests/cli/test_update.py EEEEEEEEEEEEE                                   [ 65%]
tests/cli/test_use.py EEEEE                                              [ 66%]
tests/cli/test_venv.py EEEEEEEEEEEEEEEEEEEEEEEEEEE                       [ 70%]
tests/models/test_candidates.py EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE         [ 76%]
tests/models/test_marker.py .................                            [ 78%]
tests/models/test_requirements.py ........F...........                   [ 82%]
tests/models/test_setup_parsing.py ..........                            [ 83%]
tests/models/test_specifiers.py .............FFFF....................... [ 90%]
F.....                                                                   [ 91%]
tests/models/test_versions.py ...................                        [ 94%]
tests/resolver/test_resolve.py EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE           [100%]

==================================== ERRORS ====================================
____________________ ERROR at setup of test_convert_pipfile ____________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
---------------------------- Captured stderr setup -----------------------------
python.use_venv is on, creating a virtualenv for this project...
Virtualenv is created successfully at /tmp/pdm-test-7kd2eu0z-env/.venv
___________ ERROR at setup of test_convert_requirements_file[False] ____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________ ERROR at setup of test_convert_requirements_file[True] ____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________ ERROR at setup of test_convert_requirements_file_without_name _________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________________ ERROR at setup of test_convert_poetry _____________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________________ ERROR at setup of test_convert_flit ______________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________________ ERROR at setup of test_export_setup_py ____________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________ ERROR at setup of test_import_requirements_with_group _____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________ ERROR at setup of test_export_expand_env_vars_in_source ____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________ ERROR at setup of test_export_replace_project_root ______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_convert_setup_py_project ________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______ ERROR at setup of test_install_wheel_with_inconsistent_dist_info _______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________ ERROR at setup of test_install_with_file_existing _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_uninstall_commit_rollback _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________________ ERROR at setup of test_rollback_after_commit _________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________ ERROR at setup of test_uninstall_with_console_scripts[False] _________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________ ERROR at setup of test_uninstall_with_console_scripts[True] __________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_install_wheel_with_cache ________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________ ERROR at setup of test_url_requirement_is_not_cached _____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________ ERROR at setup of test_install_wheel_with_data_scripts[False] _________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________ ERROR at setup of test_install_wheel_with_data_scripts[True] _________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________ ERROR at setup of test_compress_file_list_for_rename _____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
__________________ ERROR at setup of test_actual_list_freeze ___________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
__________________ ERROR at setup of test_plugin_new_command ___________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________________ ERROR at setup of test_plugin_replace_command _________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________ ERROR at setup of test_project_python_with_pyenv_support ___________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________________ ERROR at setup of test_project_config_items __________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________ ERROR at setup of test_project_config_set_invalid_key _____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________ ERROR at setup of test_project_sources_overriding _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________ ERROR at setup of test_project_sources_env_var_expansion ___________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________________ ERROR at setup of test_project_use_venv ____________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________________ ERROR at setup of test_project_packages_path _________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_project_auto_detect_venv ________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
__________________ ERROR at setup of test_ignore_saved_python __________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
__________________ ERROR at setup of test_select_dependencies __________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_global_python_path_config _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_set_non_exist_python_path _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
__________ ERROR at setup of test_create_venv_first_time[virtualenv] ___________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________ ERROR at setup of test_create_venv_first_time[venv] ______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________ ERROR at setup of test_create_venv_in_project[virtualenv-True] ________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______ ERROR at setup of test_create_venv_in_project[virtualenv-False] ________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________ ERROR at setup of test_create_venv_in_project[venv-True] ___________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
__________ ERROR at setup of test_create_venv_in_project[venv-False] ___________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________ ERROR at setup of test_find_interpreters_from_venv[virtualenv] ________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________ ERROR at setup of test_find_interpreters_from_venv[venv] ___________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
__________________ ERROR at setup of test_iter_project_venvs ___________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________________ ERROR at setup of test_post_init_signal ____________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________ ERROR at setup of test_post_lock_and_install_signals _____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______ ERROR at setup of test_dependency_group_selection[args0-golden0] _______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______ ERROR at setup of test_dependency_group_selection[args1-golden1] _______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______ ERROR at setup of test_dependency_group_selection[args2-golden2] _______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______ ERROR at setup of test_dependency_group_selection[args3-golden3] _______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______ ERROR at setup of test_dependency_group_selection[args4-golden4] _______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______ ERROR at setup of test_dependency_group_selection[args5-golden5] _______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______ ERROR at setup of test_dependency_group_selection[args6-golden6] _______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______ ERROR at setup of test_dependency_group_selection[args7-golden7] _______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________ ERROR at setup of test_prod_should_not_be_with_dev ______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
__________________ ERROR at setup of test_add_package[False] ___________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________________ ERROR at setup of test_add_package[True] ___________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________________ ERROR at setup of test_add_command ______________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________ ERROR at setup of test_add_package_to_custom_group ______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________ ERROR at setup of test_add_package_to_custom_dev_group ____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________________ ERROR at setup of test_add_editable_package __________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______ ERROR at setup of test_add_editable_package_to_metadata_forbidden _______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________ ERROR at setup of test_non_editable_override_editable _____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________ ERROR at setup of test_add_remote_package_url[False] _____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________ ERROR at setup of test_add_remote_package_url[True] ______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________________ ERROR at setup of test_add_no_install _____________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________________ ERROR at setup of test_add_package_save_exact _________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_add_package_save_wildcard _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_add_package_save_minimum ________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_add_package_update_reuse ________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_add_package_update_eager ________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________ ERROR at setup of test_add_package_with_mismatch_marker ____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________ ERROR at setup of test_add_dependency_from_multiple_parents __________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_add_packages_without_self _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______ ERROR at setup of test_add_package_unconstrained_rewrite_specifier ______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________ ERROR at setup of test_add_cached_vcs_requirement _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________________ ERROR at setup of test_add_with_dry_run ____________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
__________________ ERROR at setup of test_add_with_prerelease __________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________ ERROR at setup of test_add_editable_package_with_extras ____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________________ ERROR at setup of test_build_command _____________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________ ERROR at setup of test_build_global_project_forbidden _____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
__________________ ERROR at setup of test_build_single_module __________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________ ERROR at setup of test_build_single_module_with_readme ____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________________ ERROR at setup of test_build_package _____________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________________ ERROR at setup of test_build_src_package ___________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________________ ERROR at setup of test_build_package_include _________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________ ERROR at setup of test_build_src_package_by_include ______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________ ERROR at setup of test_build_with_config_settings _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________ ERROR at setup of test_cli_build_with_config_settings _____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________ ERROR at setup of test_build_with_no_isolation[True] _____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________ ERROR at setup of test_build_with_no_isolation[False] _____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________ ERROR at setup of test_build_ignoring_pip_environment _____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________________ ERROR at setup of test_cache_list _______________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
__________________ ERROR at setup of test_cache_list_pattern ___________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________________ ERROR at setup of test_cache_remove_pattern __________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________________ ERROR at setup of test_cache_remove_wildcard _________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________________ ERROR at setup of test_cache_clear ______________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________________ ERROR at setup of test_cache_remove_no_pattern ________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________________ ERROR at setup of test_cache_info _______________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_ ERROR at setup of test_hash_cache[http://fixtures.test/artifacts/demo-0.0.1.tar.gz-sha256:d57bf5e3b8723e4fc68275159dcc4ca983d86d4c84220a4d715d491401f27db2] _

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_ ERROR at setup of test_hash_cache[file:///build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/demo-0.0.1.tar.gz-sha256:d57bf5e3b8723e4fc68275159dcc4ca983d86d4c84220a4d715d491401f27db2] _

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_ ERROR at setup of test_hash_cache[http://fixtures.test/artifacts/demo-0.0.1.tar.gz#sha384=9130e5e4912bc78b1ffabbf406d56bc74b9165b0adc8c627168b7b563b80d5ff6c30e269398d01144ee52aa33292682d-sha384:9130e5e4912bc78b1ffabbf406d56bc74b9165b0adc8c627168b7b563b80d5ff6c30e269398d01144ee52aa33292682d] _

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_ ERROR at setup of test_hash_cache[http://fixtures.test/artifacts/demo-0.0.1.tar.gz#md5=5218509812c9fcb4646adde8fd3307e1-sha256:d57bf5e3b8723e4fc68275159dcc4ca983d86d4c84220a4d715d491401f27db2] _

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
__________________ ERROR at setup of test_clear_package_cache __________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________________ ERROR at setup of test_config_command _____________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
__________________ ERROR at setup of test_config_get_command ___________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
__________________ ERROR at setup of test_config_set_command ___________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
__________________ ERROR at setup of test_config_del_command ___________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_config_env_var_shadowing ________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________ ERROR at setup of test_config_project_global_precedence ____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________ ERROR at setup of test_default_repository_setting _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______ ERROR at setup of test_repository_config_not_available_on_project _______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________ ERROR at setup of test_repository_config_key_short ______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________ ERROR at setup of test_repository_overwrite_default ______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________________ ERROR at setup of test_hide_password_in_output ________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________________ ERROR at setup of test_config_get_repository _________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________________ ERROR at setup of test_config_set_repository _________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________________ ERROR at setup of test_config_del_repository _________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________________ ERROR at setup of test_pre_script_fail_fast __________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________________ ERROR at setup of test_pre_and_post_scripts __________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_composite_runs_all_hooks ________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________ ERROR at setup of test_skip_all_hooks_option[:all] ______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________ ERROR at setup of test_skip_all_hooks_option[:pre,:post] ___________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____ ERROR at setup of test_skip_option[--skip pre_test,post_first,second] _____

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______ ERROR at setup of test_skip_option[-k pre_test,post_first,second] _______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_ ERROR at setup of test_skip_option[--skip pre_test --skip post_first --skip second] _

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___ ERROR at setup of test_skip_option[-k pre_test -k post_first -k second] ____

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_ ERROR at setup of test_skip_option[--skip pre_test --skip post_first,second] _

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____ ERROR at setup of test_skip_option[-k pre_test -k post_first,second] _____

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___ ERROR at setup of test_skip_option_default_from_env[pre_test-expected0] ____

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_ ERROR at setup of test_skip_option_default_from_env[pre_test,post_test-expected1] _

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_ ERROR at setup of test_skip_option_default_from_env[pre_test , post_test-expected2] _

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________ ERROR at setup of test_skip_option_default_from_env[None-None] ________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________ ERROR at setup of test_skip_option_default_from_env[ -None] __________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________ ERROR at setup of test_skip_option_default_from_env[ , -None] _________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________________ ERROR at setup of test_hooks[add] _______________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________________ ERROR at setup of test_hooks[build] ______________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________________ ERROR at setup of test_hooks[init] ______________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________________ ERROR at setup of test_hooks[install] _____________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________________ ERROR at setup of test_hooks[lock] ______________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________________ ERROR at setup of test_hooks[publish] _____________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________________ ERROR at setup of test_hooks[remove] _____________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________________ ERROR at setup of test_hooks[sync] ______________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________________ ERROR at setup of test_hooks[update] _____________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________________ ERROR at setup of test_hooks[use] _______________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________ ERROR at setup of test_skip_option_from_signal[add-pre_lock] _________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________ ERROR at setup of test_skip_option_from_signal[add-post_lock] _________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______ ERROR at setup of test_skip_option_from_signal[build-pre_build] ________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______ ERROR at setup of test_skip_option_from_signal[build-post_build] _______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________ ERROR at setup of test_skip_option_from_signal[init-post_init] ________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____ ERROR at setup of test_skip_option_from_signal[install-pre_install] ______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____ ERROR at setup of test_skip_option_from_signal[install-post_install] _____

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______ ERROR at setup of test_skip_option_from_signal[install-pre_lock] _______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______ ERROR at setup of test_skip_option_from_signal[install-post_lock] _______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________ ERROR at setup of test_skip_option_from_signal[lock-pre_lock] _________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________ ERROR at setup of test_skip_option_from_signal[lock-post_lock] ________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____ ERROR at setup of test_skip_option_from_signal[publish-pre_publish] ______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______ ERROR at setup of test_skip_option_from_signal[publish-pre_build] _______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______ ERROR at setup of test_skip_option_from_signal[publish-post_build] ______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____ ERROR at setup of test_skip_option_from_signal[publish-post_publish] _____

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______ ERROR at setup of test_skip_option_from_signal[remove-pre_lock] ________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______ ERROR at setup of test_skip_option_from_signal[remove-post_lock] _______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______ ERROR at setup of test_skip_option_from_signal[sync-pre_install] _______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______ ERROR at setup of test_skip_option_from_signal[sync-post_install] _______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______ ERROR at setup of test_skip_option_from_signal[update-pre_install] ______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____ ERROR at setup of test_skip_option_from_signal[update-post_install] ______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______ ERROR at setup of test_skip_option_from_signal[update-pre_lock] ________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______ ERROR at setup of test_skip_option_from_signal[update-post_lock] _______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________ ERROR at setup of test_skip_option_from_signal[use-post_use] _________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________ ERROR at setup of test_skip_all_option_from_signal[:all-add] _________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________ ERROR at setup of test_skip_all_option_from_signal[:all-build] ________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________ ERROR at setup of test_skip_all_option_from_signal[:all-init] _________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______ ERROR at setup of test_skip_all_option_from_signal[:all-install] _______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________ ERROR at setup of test_skip_all_option_from_signal[:all-lock] _________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______ ERROR at setup of test_skip_all_option_from_signal[:all-publish] _______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______ ERROR at setup of test_skip_all_option_from_signal[:all-remove] ________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________ ERROR at setup of test_skip_all_option_from_signal[:all-sync] _________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______ ERROR at setup of test_skip_all_option_from_signal[:all-update] ________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________ ERROR at setup of test_skip_all_option_from_signal[:all-use] _________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______ ERROR at setup of test_skip_all_option_from_signal[:pre,:post-add] ______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____ ERROR at setup of test_skip_all_option_from_signal[:pre,:post-build] _____

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____ ERROR at setup of test_skip_all_option_from_signal[:pre,:post-init] ______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____ ERROR at setup of test_skip_all_option_from_signal[:pre,:post-install] ____

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____ ERROR at setup of test_skip_all_option_from_signal[:pre,:post-lock] ______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____ ERROR at setup of test_skip_all_option_from_signal[:pre,:post-publish] ____

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____ ERROR at setup of test_skip_all_option_from_signal[:pre,:post-remove] _____

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____ ERROR at setup of test_skip_all_option_from_signal[:pre,:post-sync] ______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____ ERROR at setup of test_skip_all_option_from_signal[:pre,:post-update] _____

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______ ERROR at setup of test_skip_all_option_from_signal[:pre,:post-use] ______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______ ERROR at setup of test_skip_pre_post_option_from_signal[pre-add] _______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______ ERROR at setup of test_skip_pre_post_option_from_signal[pre-build] ______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______ ERROR at setup of test_skip_pre_post_option_from_signal[pre-init] _______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____ ERROR at setup of test_skip_pre_post_option_from_signal[pre-install] _____

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______ ERROR at setup of test_skip_pre_post_option_from_signal[pre-lock] _______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____ ERROR at setup of test_skip_pre_post_option_from_signal[pre-publish] _____

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____ ERROR at setup of test_skip_pre_post_option_from_signal[pre-remove] ______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______ ERROR at setup of test_skip_pre_post_option_from_signal[pre-sync] _______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____ ERROR at setup of test_skip_pre_post_option_from_signal[pre-update] ______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______ ERROR at setup of test_skip_pre_post_option_from_signal[pre-use] _______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______ ERROR at setup of test_skip_pre_post_option_from_signal[post-add] _______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____ ERROR at setup of test_skip_pre_post_option_from_signal[post-build] ______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______ ERROR at setup of test_skip_pre_post_option_from_signal[post-init] ______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____ ERROR at setup of test_skip_pre_post_option_from_signal[post-install] _____

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______ ERROR at setup of test_skip_pre_post_option_from_signal[post-lock] ______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____ ERROR at setup of test_skip_pre_post_option_from_signal[post-publish] _____

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____ ERROR at setup of test_skip_pre_post_option_from_signal[post-remove] _____

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______ ERROR at setup of test_skip_pre_post_option_from_signal[post-sync] ______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____ ERROR at setup of test_skip_pre_post_option_from_signal[post-update] _____

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______ ERROR at setup of test_skip_pre_post_option_from_signal[post-use] _______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________ ERROR at setup of test_init_validate_python_requires _____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________________ ERROR at setup of test_init_command ______________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________________ ERROR at setup of test_init_command_library __________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________________ ERROR at setup of test_init_non_interactive __________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________________ ERROR at setup of test_init_auto_create_venv _________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________ ERROR at setup of test_init_auto_create_venv_specify_python __________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________ ERROR at setup of test_init_auto_create_venv_answer_no ____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________ ERROR at setup of test_sync_packages_with_group_all ______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________ ERROR at setup of test_sync_packages_with_all_dev _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________________ ERROR at setup of test_sync_no_lockfile ____________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
__________________ ERROR at setup of test_sync_clean_packages __________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________________ ERROR at setup of test_sync_dry_run ______________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
__________________ ERROR at setup of test_sync_only_different __________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________________ ERROR at setup of test_sync_in_sequential_mode ________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_sync_packages_with_groups _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________ ERROR at setup of test_sync_production_packages[False] ____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________ ERROR at setup of test_sync_production_packages[True] _____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________________ ERROR at setup of test_sync_without_self ___________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________________ ERROR at setup of test_sync_with_index_change _________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________________ ERROR at setup of test_install_command ____________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________________ ERROR at setup of test_sync_command ______________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________________ ERROR at setup of test_install_with_lockfile _________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________________ ERROR at setup of test_install_with_dry_run __________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________________ ERROR at setup of test_install_check _____________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________________ ERROR at setup of test_sync_with_pure_option _________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________ ERROR at setup of test_install_referencing_self_package ____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________________ ERROR at setup of test_list_command ______________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
__________________ ERROR at setup of test_list_graph_command ___________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________________ ERROR at setup of test_list_dependency_graph _________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________ ERROR at setup of test_list_dependency_graph_include_exclude _________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______ ERROR at setup of test_list_dependency_graph_with_circular_forward ______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______ ERROR at setup of test_list_dependency_graph_with_circular_reverse ______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________ ERROR at setup of test_list_reverse_without_graph_flag ____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________ ERROR at setup of test_list_reverse_dependency_graph _____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________________ ERROR at setup of test_list_json _______________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________________ ERROR at setup of test_list_json_reverse ___________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________ ERROR at setup of test_list_json_with_circular_forward ____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________ ERROR at setup of test_list_json_with_circular_reverse ____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
__________________ ERROR at setup of test_list_field_unknown ___________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________________ ERROR at setup of test_list_sort_unknown ___________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________ ERROR at setup of test_list_freeze_banned_options _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________ ERROR at setup of test_list_multiple_export_formats ______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________________ ERROR at setup of test_list_bare _______________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________________ ERROR at setup of test_list_bare_sorted_name _________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________________ ERROR at setup of test_list_freeze ______________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_list_bare_sorted_version ________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________ ERROR at setup of test_list_bare_sorted_version_resolve ____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_list_bare_fields_licences _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_list_csv_fields_licences ________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_list_json_fields_licences _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________ ERROR at setup of test_list_markdown_fields_licences _____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________ ERROR at setup of test_list_csv_include_exclude_valid _____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_list_csv_include_exclude ________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________________ ERROR at setup of test_lock_command ______________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________________ ERROR at setup of test_lock_dependencies ___________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________________ ERROR at setup of test_lock_refresh ______________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________ ERROR at setup of test_lock_refresh_keep_consistent ______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________ ERROR at setup of test_lock_check_no_change_success ______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________________ ERROR at setup of test_lock_check_change_fails ________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
__________ ERROR at setup of test_innovations_with_specified_lockfile __________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________ ERROR at setup of test_skip_editable_dependencies_in_metadata _________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
__________________ ERROR at setup of test_build_distributions __________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________________ ERROR at setup of test_project_no_init_error _________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________________ ERROR at setup of test_info_command ______________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________ ERROR at setup of test_global_project_other_location _____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______ ERROR at setup of test_import_other_format_file[requirements.txt] _______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________ ERROR at setup of test_import_other_format_file[Pipfile] ___________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____ ERROR at setup of test_import_other_format_file[pyproject-poetry.toml] ____

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_ ERROR at setup of test_import_other_format_file[projects/flit-demo/pyproject.toml] _

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________ ERROR at setup of test_import_requirement_no_overwrite ____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________________ ERROR at setup of test_show_self_package ___________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________ ERROR at setup of test_export_to_requirements_txt _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________ ERROR at setup of test_export_doesnt_include_dep_with_extras _________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________________ ERROR at setup of test_show_update_hint ____________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________ ERROR at setup of test_repository_get_release_urls ______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_publish_pick_up_asc_files _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________ ERROR at setup of test_publish_package_with_signature _____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________ ERROR at setup of test_publish_and_build_in_one_run ______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________ ERROR at setup of test_publish_cli_args_and_env_var_precedence ________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________________ ERROR at setup of test_remove_command _____________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____ ERROR at setup of test_remove_editable_packages_while_keeping_normal _____

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________________ ERROR at setup of test_remove_package[False] _________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________________ ERROR at setup of test_remove_package[True] __________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________ ERROR at setup of test_remove_package_with_dry_run ______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________________ ERROR at setup of test_remove_package_no_sync _________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_remove_package_not_exist ________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________ ERROR at setup of test_remove_package_exist_in_multi_groups __________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________________ ERROR at setup of test_add_remove_no_package _________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________ ERROR at setup of test_remove_package_wont_break_toml _____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________ ERROR at setup of test_pep582_launcher_for_python_interpreter _________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________ ERROR at setup of test_auto_isolate_site_packages _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________________ ERROR at setup of test_run_with_site_packages _________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________________ ERROR at setup of test_run_cmd_script _____________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_run_cmd_script_with_array _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________ ERROR at setup of test_run_script_pass_project_root ______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________________ ERROR at setup of test_run_shell_script ____________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________________ ERROR at setup of test_run_call_script ____________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________ ERROR at setup of test_run_script_with_extra_args _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
__________________ ERROR at setup of test_run_expand_env_vars __________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________ ERROR at setup of test_run_script_with_env_defined ______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________ ERROR at setup of test_run_script_with_dotenv_file ______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________ ERROR at setup of test_run_script_override_global_env _____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_run_show_list_of_scripts ________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________ ERROR at setup of test_run_with_another_project_root _____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________ ERROR at setup of test_import_another_sitecustomize ______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________ ERROR at setup of test_run_with_patched_sysconfig _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________________ ERROR at setup of test_run_composite _____________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________ ERROR at setup of test_composite_stops_on_first_failure ____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________________ ERROR at setup of test_composite_inherit_env _________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________ ERROR at setup of test_composite_fail_on_first_missing_task __________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_composite_runs_all_hooks ________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________ ERROR at setup of test_composite_pass_parameters_to_subtasks _________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________ ERROR at setup of test_composite_can_pass_parameters _____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________ ERROR at setup of test_composite_hooks_inherit_env ______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________ ERROR at setup of test_composite_inherit_env_in_cascade ____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_composite_inherit_dotfile _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________ ERROR at setup of test_composite_can_have_commands ______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________________ ERROR at setup of test_run_shortcut ______________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________ ERROR at setup of test_run_shortcuts_dont_override_commands __________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___ ERROR at setup of test_run_shortcut_fail_with_usage_if_script_not_found ____

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
__ ERROR at setup of test_empty_positionnal_args_still_display_usage[no args] __

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_ ERROR at setup of test_empty_positionnal_args_still_display_usage[unknown param] _

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_ ERROR at setup of test_empty_positionnal_args_still_display_usage[not an user script] _

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_update_packages_with_top ________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________________ ERROR at setup of test_update_command _____________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_update_ignore_constraints _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________ ERROR at setup of test_update_all_packages[reuse] _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_update_all_packages[all] ________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________________ ERROR at setup of test_update_dry_run _____________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________ ERROR at setup of test_update_top_packages_dry_run ______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_update_specified_packages _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________ ERROR at setup of test_update_specified_packages_eager_mode __________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________ ERROR at setup of test_update_with_package_and_groups_argument ________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____ ERROR at setup of test_update_with_prerelease_without_package_argument ____

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________ ERROR at setup of test_update_existing_package_with_prerelease ________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________ ERROR at setup of test_update_package_with_extras _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________________ ERROR at setup of test_use_command ______________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________________ ERROR at setup of test_use_python_by_version _________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
__________________ ERROR at setup of test_use_wrapper_python ___________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________ ERROR at setup of test_use_invalid_wrapper_python _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________ ERROR at setup of test_use_remember_last_selection ______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________________ ERROR at setup of test_venv_create ______________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________________ ERROR at setup of test_venv_create_in_project _________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________________ ERROR at setup of test_venv_list _______________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________________ ERROR at setup of test_venv_remove ______________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________________ ERROR at setup of test_venv_recreate _____________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_venv_activate[virtualenv] _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
__________________ ERROR at setup of test_venv_activate[venv] __________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________ ERROR at setup of test_venv_activate_custom_prompt[virtualenv] ________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________ ERROR at setup of test_venv_activate_custom_prompt[venv] ___________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________ ERROR at setup of test_venv_activate_project_without_python __________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
__________________ ERROR at setup of test_venv_activate_error __________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________________ ERROR at setup of test_venv_auto_create[True] _________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________________ ERROR at setup of test_venv_auto_create[False] ________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________________ ERROR at setup of test_venv_purge _______________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________________ ERROR at setup of test_venv_purge_force ____________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____ ERROR at setup of test_venv_purge_interactive[virtualenv-none-True] ______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______ ERROR at setup of test_venv_purge_interactive[virtualenv-0-False] _______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____ ERROR at setup of test_venv_purge_interactive[virtualenv-all-False] ______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________ ERROR at setup of test_venv_purge_interactive[venv-none-True] _________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________ ERROR at setup of test_venv_purge_interactive[venv-0-False] __________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________ ERROR at setup of test_venv_purge_interactive[venv-all-False] _________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________ ERROR at setup of test_virtualenv_backend_create[True] ____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________ ERROR at setup of test_virtualenv_backend_create[False] ____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_venv_backend_create[True] _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________ ERROR at setup of test_venv_backend_create[False] _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________ ERROR at setup of test_conda_backend_create[True] _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________ ERROR at setup of test_conda_backend_create[False] ______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________ ERROR at setup of test_parse_local_directory_metadata[False] _________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________ ERROR at setup of test_parse_local_directory_metadata[True] __________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_parse_vcs_metadata[False] _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_parse_vcs_metadata[True] ________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_ ERROR at setup of test_parse_artifact_metadata[/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/demo-0.0.1.tar.gz] _

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_ ERROR at setup of test_parse_artifact_metadata[/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl] _

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________ ERROR at setup of test_parse_metadata_with_extras _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________ ERROR at setup of test_parse_remote_link_metadata _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________________ ERROR at setup of test_extras_warning _____________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_parse_abnormal_specifiers _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_ ERROR at setup of test_expand_project_root_in_url[demo @ file:///${PROJECT_ROOT}/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl] _

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_ ERROR at setup of test_expand_project_root_in_url[demo @ file:///${PROJECT_ROOT}/tests/fixtures/artifacts/demo-0.0.1.tar.gz] _

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_ ERROR at setup of test_expand_project_root_in_url[demo @ file:///${PROJECT_ROOT}/tests/fixtures/projects/demo] _

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_ ERROR at setup of test_expand_project_root_in_url[-e ${PROJECT_ROOT}/tests/fixtures/projects/demo] _

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________ ERROR at setup of test_parse_project_file_on_build_error ___________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____ ERROR at setup of test_parse_project_file_on_build_error_with_extras _____

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______ ERROR at setup of test_parse_project_file_on_build_error_no_dep ________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________ ERROR at setup of test_parse_poetry_project_metadata[False] __________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
__________ ERROR at setup of test_parse_poetry_project_metadata[True] __________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
__________ ERROR at setup of test_parse_flit_project_metadata[False] ___________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________ ERROR at setup of test_parse_flit_project_metadata[True] ___________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________ ERROR at setup of test_vcs_candidate_in_subdirectory[False] __________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
__________ ERROR at setup of test_vcs_candidate_in_subdirectory[True] __________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________ ERROR at setup of test_sdist_candidate_with_wheel_cache ____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________ ERROR at setup of test_cache_vcs_immutable_revision ______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________________ ERROR at setup of test_cache_egg_info_sdist __________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
__________ ERROR at setup of test_invalidate_incompatible_wheel_link ___________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________________ ERROR at setup of test_legacy_pep345_tag_link _________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_ignore_invalid_py_version _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________ ERROR at setup of test_find_candidates_from_find_links ____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________ ERROR at setup of test_parse_metadata_from_pep621 _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
__________ ERROR at setup of test_parse_metadata_with_dynamic_fields ___________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_resolve_named_requirement _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________________ ERROR at setup of test_resolve_requires_python ________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______________ ERROR at setup of test_resolve_allow_prereleases _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
__________________ ERROR at setup of test_resolve_with_extras __________________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________ ERROR at setup of test_resolve_local_artifacts[sdist] _____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________ ERROR at setup of test_resolve_local_artifacts[wheel] _____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_ ERROR at setup of test_resolve_vcs_and_local_requirements[False-/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/projects/demo] _

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_ ERROR at setup of test_resolve_vcs_and_local_requirements[False-git+https://github.com/test-root/demo.git#egg=demo] _

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_ ERROR at setup of test_resolve_vcs_and_local_requirements[True-/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/projects/demo] _

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_ ERROR at setup of test_resolve_vcs_and_local_requirements[True-git+https://github.com/test-root/demo.git#egg=demo] _

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________ ERROR at setup of test_resolve_vcs_without_explicit_name ___________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
__________ ERROR at setup of test_resolve_local_and_named_requirement __________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____________ ERROR at setup of test_resolving_auto_avoid_conflicts _____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________ ERROR at setup of test_resolve_conflicting_dependencies ____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_ ERROR at setup of test_resolve_conflicting_dependencies_with_overrides[2.1] __

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_ ERROR at setup of test_resolve_conflicting_dependencies_with_overrides[>=1.8] _

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_ ERROR at setup of test_resolve_conflicting_dependencies_with_overrides[==2.1] _

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________ ERROR at setup of test_resolve_no_available_versions _____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________ ERROR at setup of test_exclude_incompatible_requirements ___________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________ ERROR at setup of test_union_markers_from_different_parents __________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
__________ ERROR at setup of test_requirements_from_different_groups ___________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_______ ERROR at setup of test_resolve_two_extras_from_the_same_package ________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
__________ ERROR at setup of test_resolve_package_with_dummy_upbound ___________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_________ ERROR at setup of test_resolve_dependency_with_extra_marker __________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________ ERROR at setup of test_resolve_circular_dependencies _____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_____________ ERROR at setup of test_resolve_candidates_to_install _____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______ ERROR at setup of test_resolve_prefer_requirement_with_prereleases ______

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
______________ ERROR at setup of test_resolve_with_python_marker _______________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________ ERROR at setup of test_resolve_file_req_with_prerelease ____________

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
____ ERROR at setup of test_resolve_extra_requirements_no_break_constraints ____

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___ ERROR at setup of test_resolve_extra_and_underlying_to_the_same_version ____

    @pytest.fixture(scope="session")
    def build_env():
        with tempfile.TemporaryDirectory("-env", prefix="pdm-test-") as d:
            p = Core().create_project(d)
            env = PrefixEnvironment(p, d)
            for wheel_name in (
                "pdm_pep517-1.0.0-py3-none-any.whl",
                "poetry_core-1.0.7-py2.py3-none-any.whl",
                "setuptools-65.4.1-py3-none-any.whl",
                "wheel-0.37.1-py2.py3-none-any.whl",
            ):
                wheel = FIXTURES / "artifacts" / wheel_name
>               install_wheel(str(wheel), env)

tests/conftest.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:185: in install_wheel
    _install_wheel(
pdm/installers/installers.py:274: in _install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:122: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
=================================== FAILURES ===================================
_________________________ test_basic_integration[3.11] _________________________

python_version = '3.11', core = <pdm.core.Core object at 0xf527a650>
tmp_path = PosixPath('/tmp/pytest-of-pbuilder1/pytest-0/test_basic_integration_3_11_3')
invoke = <function invoke.<locals>.caller at 0xf521a398>

    @pytest.mark.integration
    @pytest.mark.network
    @pytest.mark.flaky(reruns=3)
    @pytest.mark.parametrize("python_version", get_python_versions())
    def test_basic_integration(python_version, core, tmp_path, invoke):
        """An e2e test case to ensure PDM works on all supported Python versions"""
        project = core.create_project(tmp_path)
        project.pyproject_file.write_text(PYPROJECT)
        project.root.joinpath("foo.py").write_text("import django\n")
        project._environment = project.pyproject = None
        invoke(["use", "-f", python_version], obj=project, strict=True)
>       invoke(["add", "django", "-v"], obj=project, strict=True)
E       RuntimeError: Call command ['add', 'django', '-v'] failed(1): pdm.termui: ======== Start resolving requirements ========
E       pdm.termui:   django
E       pdm.termui:   python>=3.6
E       pdm.termui:   Adding requirement django

tests/test_integration.py:40: RuntimeError
------------------------------ Captured log call -------------------------------
INFO     pdm.termui:reporters.py:22 ======== Start resolving requirements ========
INFO     pdm.termui:reporters.py:41   django
INFO     pdm.termui:reporters.py:41   python>=3.6
INFO     pdm.termui:reporters.py:76   Adding requirement django
DEBUG    unearth.collector:collector.py:115 Collecting links from https://pypi.org/simple/django/
DEBUG    unearth.auth:auth.py:107 Found index url https://pypi.org/simple
WARNING  urllib3.connectionpool:connectionpool.py:813 Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xf5244330>: Failed to establish a new connection: [Errno 111] Connection refused'))': /simple/django/
WARNING  urllib3.connectionpool:connectionpool.py:813 Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xf5244930>: Failed to establish a new connection: [Errno 111] Connection refused'))': /simple/django/
WARNING  urllib3.connectionpool:connectionpool.py:813 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xf52445f0>: Failed to establish a new connection: [Errno 111] Connection refused'))': /simple/django/
WARNING  urllib3.connectionpool:connectionpool.py:813 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xf51f5250>: Failed to establish a new connection: [Errno 111] Connection refused'))': /simple/django/
WARNING  urllib3.connectionpool:connectionpool.py:813 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xf51f5490>: Failed to establish a new connection: [Errno 111] Connection refused'))': /simple/django/
------------------------------ Captured log call -------------------------------
INFO     pdm.termui:reporters.py:22 ======== Start resolving requirements ========
INFO     pdm.termui:reporters.py:41   django
INFO     pdm.termui:reporters.py:41   python>=3.6
INFO     pdm.termui:reporters.py:76   Adding requirement django
DEBUG    unearth.collector:collector.py:115 Collecting links from https://pypi.org/simple/django/
DEBUG    unearth.auth:auth.py:107 Found index url https://pypi.org/simple
WARNING  urllib3.connectionpool:connectionpool.py:813 Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xf4f1d090>: Failed to establish a new connection: [Errno 111] Connection refused'))': /simple/django/
WARNING  urllib3.connectionpool:connectionpool.py:813 Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xf52121f0>: Failed to establish a new connection: [Errno 111] Connection refused'))': /simple/django/
WARNING  urllib3.connectionpool:connectionpool.py:813 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xf5212d50>: Failed to establish a new connection: [Errno 111] Connection refused'))': /simple/django/
WARNING  urllib3.connectionpool:connectionpool.py:813 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xf5212830>: Failed to establish a new connection: [Errno 111] Connection refused'))': /simple/django/
WARNING  urllib3.connectionpool:connectionpool.py:813 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xf51d3890>: Failed to establish a new connection: [Errno 111] Connection refused'))': /simple/django/
------------------------------ Captured log call -------------------------------
INFO     pdm.termui:reporters.py:22 ======== Start resolving requirements ========
INFO     pdm.termui:reporters.py:41   django
INFO     pdm.termui:reporters.py:41   python>=3.6
INFO     pdm.termui:reporters.py:76   Adding requirement django
DEBUG    unearth.collector:collector.py:115 Collecting links from https://pypi.org/simple/django/
DEBUG    unearth.auth:auth.py:107 Found index url https://pypi.org/simple
WARNING  urllib3.connectionpool:connectionpool.py:813 Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xf5147530>: Failed to establish a new connection: [Errno 111] Connection refused'))': /simple/django/
WARNING  urllib3.connectionpool:connectionpool.py:813 Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xf51473b0>: Failed to establish a new connection: [Errno 111] Connection refused'))': /simple/django/
WARNING  urllib3.connectionpool:connectionpool.py:813 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xf5147510>: Failed to establish a new connection: [Errno 111] Connection refused'))': /simple/django/
WARNING  urllib3.connectionpool:connectionpool.py:813 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xf527a8d0>: Failed to establish a new connection: [Errno 111] Connection refused'))': /simple/django/
WARNING  urllib3.connectionpool:connectionpool.py:813 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xf523a3d0>: Failed to establish a new connection: [Errno 111] Connection refused'))': /simple/django/
------------------------------ Captured log call -------------------------------
INFO     pdm.termui:reporters.py:22 ======== Start resolving requirements ========
INFO     pdm.termui:reporters.py:41   django
INFO     pdm.termui:reporters.py:41   python>=3.6
INFO     pdm.termui:reporters.py:76   Adding requirement django
DEBUG    unearth.collector:collector.py:115 Collecting links from https://pypi.org/simple/django/
DEBUG    unearth.auth:auth.py:107 Found index url https://pypi.org/simple
WARNING  urllib3.connectionpool:connectionpool.py:813 Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xf513b170>: Failed to establish a new connection: [Errno 111] Connection refused'))': /simple/django/
WARNING  urllib3.connectionpool:connectionpool.py:813 Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xf513b3d0>: Failed to establish a new connection: [Errno 111] Connection refused'))': /simple/django/
WARNING  urllib3.connectionpool:connectionpool.py:813 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xf513b630>: Failed to establish a new connection: [Errno 111] Connection refused'))': /simple/django/
WARNING  urllib3.connectionpool:connectionpool.py:813 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xf513b8f0>: Failed to establish a new connection: [Errno 111] Connection refused'))': /simple/django/
WARNING  urllib3.connectionpool:connectionpool.py:813 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xf513bad0>: Failed to establish a new connection: [Errno 111] Connection refused'))': /simple/django/
_____________________________ test_search_package ______________________________

invoke = <function invoke.<locals>.caller at 0xf4eee848>
tmp_path = PosixPath('/tmp/pytest-of-pbuilder1/pytest-0/test_search_package0')

    @pytest.mark.network
    def test_search_package(invoke, tmp_path):
        with cd(tmp_path):
            result = invoke(["search", "requests"])
>       assert result.exit_code == 0
E       assert 1 == 0
E        +  where 1 = RunResult(exit_code=1, stdout='', stderr="[ProxyError]: HTTPSConnectionPool(host='pypi.org', port=443): Max retries ex...ablish a new connection: [Errno 111] Connection refused')))\nAdd '-v' to see the detailed traceback\n", exception=None).exit_code

tests/cli/test_others.py:103: AssertionError
------------------------------ Captured log call -------------------------------
DEBUG    unearth.auth:auth.py:107 Found index url https://pypi.org/simple
WARNING  urllib3.connectionpool:connectionpool.py:813 Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xf5081050>: Failed to establish a new connection: [Errno 111] Connection refused'))': /search?q=requests
WARNING  urllib3.connectionpool:connectionpool.py:813 Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xf4e96e10>: Failed to establish a new connection: [Errno 111] Connection refused'))': /search?q=requests
WARNING  urllib3.connectionpool:connectionpool.py:813 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xf4e96030>: Failed to establish a new connection: [Errno 111] Connection refused'))': /search?q=requests
WARNING  urllib3.connectionpool:connectionpool.py:813 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xf4e96350>: Failed to establish a new connection: [Errno 111] Connection refused'))': /search?q=requests
WARNING  urllib3.connectionpool:connectionpool.py:813 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xf4e96790>: Failed to establish a new connection: [Errno 111] Connection refused'))': /search?q=requests
__________________________ test_show_package_on_pypi ___________________________

invoke = <function invoke.<locals>.caller at 0xf4efce88>

    @pytest.mark.network
    def test_show_package_on_pypi(invoke):
        result = invoke(["show", "ipython"])
>       assert result.exit_code == 0
E       assert 1 == 0
E        +  where 1 = RunResult(exit_code=1, stdout='', stderr="__pypackages__ is detected, using the PEP 582 mode\n[ProxyError]: HTTPSConne...ablish a new connection: [Errno 111] Connection refused')))\nAdd '-v' to see the detailed traceback\n", exception=None).exit_code

tests/cli/test_others.py:112: AssertionError
------------------------------ Captured log call -------------------------------
DEBUG    unearth.collector:collector.py:115 Collecting links from https://pypi.org/simple/ipython/
DEBUG    unearth.auth:auth.py:107 Found index url https://pypi.org/simple
WARNING  urllib3.connectionpool:connectionpool.py:813 Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xf5121a50>: Failed to establish a new connection: [Errno 111] Connection refused'))': /simple/ipython/
WARNING  urllib3.connectionpool:connectionpool.py:813 Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xf5159bd0>: Failed to establish a new connection: [Errno 111] Connection refused'))': /simple/ipython/
WARNING  urllib3.connectionpool:connectionpool.py:813 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xf4e1f910>: Failed to establish a new connection: [Errno 111] Connection refused'))': /simple/ipython/
WARNING  urllib3.connectionpool:connectionpool.py:813 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xf50cdb10>: Failed to establish a new connection: [Errno 111] Connection refused'))': /simple/ipython/
WARNING  urllib3.connectionpool:connectionpool.py:813 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0xf50cded0>: Failed to establish a new connection: [Errno 111] Connection refused'))': /simple/ipython/
_________ test_package_parse_metadata[demo-0.0.1-py2.py3-none-any.whl] _________

filename = 'demo-0.0.1-py2.py3-none-any.whl'

    @pytest.mark.parametrize(
        "filename",
        ["demo-0.0.1-py2.py3-none-any.whl", "demo-0.0.1.tar.gz", "demo-0.0.1.zip"],
    )
    def test_package_parse_metadata(filename):
        fullpath = FIXTURES / "artifacts" / filename
>       package = PackageFile.from_filename(str(fullpath), None)

tests/cli/test_publish.py:20: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/cli/commands/publish/package.py:85: in from_filename
    metadata = cls.read_metadata_from_wheel(filename)
pdm/cli/commands/publish/package.py:130: in read_metadata_from_wheel
    with zipfile.ZipFile(filename, allowZip64=True) as zip:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
________________ test_package_parse_metadata[demo-0.0.1.tar.gz] ________________

filename = 'demo-0.0.1.tar.gz'

    @pytest.mark.parametrize(
        "filename",
        ["demo-0.0.1-py2.py3-none-any.whl", "demo-0.0.1.tar.gz", "demo-0.0.1.zip"],
    )
    def test_package_parse_metadata(filename):
        fullpath = FIXTURES / "artifacts" / filename
>       package = PackageFile.from_filename(str(fullpath), None)

tests/cli/test_publish.py:20: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/cli/commands/publish/package.py:95: in from_filename
    metadata = cls.read_metadata_from_tar(filename)
pdm/cli/commands/publish/package.py:108: in read_metadata_from_tar
    with tarfile.open(filename, mode) as tar:
/usr/lib/python3.11/tarfile.py:1652: in open
    return func(name, filemode, fileobj, **kwargs)
/usr/lib/python3.11/tarfile.py:1698: in gzopen
    fileobj = GzipFile(name, mode + "b", compresslevel, fileobj)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <[AttributeError("'GzipFile' object has no attribute 'fileobj'") raised in repr()] GzipFile object at 0xf503fef8>
filename = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/demo-0.0.1.tar.gz'
mode = 'rb', compresslevel = 9, fileobj = None, mtime = None

    def __init__(self, filename=None, mode=None,
                 compresslevel=_COMPRESS_LEVEL_BEST, fileobj=None, mtime=None):
        """Constructor for the GzipFile class.
    
        At least one of fileobj and filename must be given a
        non-trivial value.
    
        The new class instance is based on fileobj, which can be a regular
        file, an io.BytesIO object, or any other object which simulates a file.
        It defaults to None, in which case filename is opened to provide
        a file object.
    
        When fileobj is not None, the filename argument is only used to be
        included in the gzip file header, which may include the original
        filename of the uncompressed file.  It defaults to the filename of
        fileobj, if discernible; otherwise, it defaults to the empty string,
        and in this case the original filename is not included in the header.
    
        The mode argument can be any of 'r', 'rb', 'a', 'ab', 'w', 'wb', 'x', or
        'xb' depending on whether the file will be read or written.  The default
        is the mode of fileobj if discernible; otherwise, the default is 'rb'.
        A mode of 'r' is equivalent to one of 'rb', and similarly for 'w' and
        'wb', 'a' and 'ab', and 'x' and 'xb'.
    
        The compresslevel argument is an integer from 0 to 9 controlling the
        level of compression; 1 is fastest and produces the least compression,
        and 9 is slowest and produces the most compression. 0 is no compression
        at all. The default is 9.
    
        The mtime argument is an optional numeric timestamp to be written
        to the last modification time field in the stream when compressing.
        If omitted or None, the current time is used.
    
        """
    
        if mode and ('t' in mode or 'U' in mode):
            raise ValueError("Invalid mode: {!r}".format(mode))
        if mode and 'b' not in mode:
            mode += 'b'
        if fileobj is None:
>           fileobj = self.myfileobj = builtins.open(filename, mode or 'rb')
E           FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/demo-0.0.1.tar.gz'

/usr/lib/python3.11/gzip.py:174: FileNotFoundError
_________________ test_package_parse_metadata[demo-0.0.1.zip] __________________

filename = 'demo-0.0.1.zip'

    @pytest.mark.parametrize(
        "filename",
        ["demo-0.0.1-py2.py3-none-any.whl", "demo-0.0.1.tar.gz", "demo-0.0.1.zip"],
    )
    def test_package_parse_metadata(filename):
        fullpath = FIXTURES / "artifacts" / filename
>       package = PackageFile.from_filename(str(fullpath), None)

tests/cli/test_publish.py:20: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/cli/commands/publish/package.py:92: in from_filename
    metadata = cls.read_metadata_from_zip(filename)
pdm/cli/commands/publish/package.py:119: in read_metadata_from_zip
    with zipfile.ZipFile(filename, allowZip64=True) as zip:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/demo-0.0.1.zip'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/demo-0.0.1.zip'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
___________________ test_parse_metadata_with_non_ascii_chars ___________________

    def test_parse_metadata_with_non_ascii_chars():
        fullpath = FIXTURES / "artifacts" / "caj2pdf-restructured-0.1.0a6.tar.gz"
>       package = PackageFile.from_filename(str(fullpath), None)

tests/cli/test_publish.py:39: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/cli/commands/publish/package.py:95: in from_filename
    metadata = cls.read_metadata_from_tar(filename)
pdm/cli/commands/publish/package.py:108: in read_metadata_from_tar
    with tarfile.open(filename, mode) as tar:
/usr/lib/python3.11/tarfile.py:1652: in open
    return func(name, filemode, fileobj, **kwargs)
/usr/lib/python3.11/tarfile.py:1698: in gzopen
    fileobj = GzipFile(name, mode + "b", compresslevel, fileobj)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <[AttributeError("'GzipFile' object has no attribute 'fileobj'") raised in repr()] GzipFile object at 0xf5003190>
filename = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/caj2pdf-restructured-0.1.0a6.tar.gz'
mode = 'rb', compresslevel = 9, fileobj = None, mtime = None

    def __init__(self, filename=None, mode=None,
                 compresslevel=_COMPRESS_LEVEL_BEST, fileobj=None, mtime=None):
        """Constructor for the GzipFile class.
    
        At least one of fileobj and filename must be given a
        non-trivial value.
    
        The new class instance is based on fileobj, which can be a regular
        file, an io.BytesIO object, or any other object which simulates a file.
        It defaults to None, in which case filename is opened to provide
        a file object.
    
        When fileobj is not None, the filename argument is only used to be
        included in the gzip file header, which may include the original
        filename of the uncompressed file.  It defaults to the filename of
        fileobj, if discernible; otherwise, it defaults to the empty string,
        and in this case the original filename is not included in the header.
    
        The mode argument can be any of 'r', 'rb', 'a', 'ab', 'w', 'wb', 'x', or
        'xb' depending on whether the file will be read or written.  The default
        is the mode of fileobj if discernible; otherwise, the default is 'rb'.
        A mode of 'r' is equivalent to one of 'rb', and similarly for 'w' and
        'wb', 'a' and 'ab', and 'x' and 'xb'.
    
        The compresslevel argument is an integer from 0 to 9 controlling the
        level of compression; 1 is fastest and produces the least compression,
        and 9 is slowest and produces the most compression. 0 is no compression
        at all. The default is 9.
    
        The mtime argument is an optional numeric timestamp to be written
        to the last modification time field in the stream when compressing.
        If omitted or None, the current time is used.
    
        """
    
        if mode and ('t' in mode or 'U' in mode):
            raise ValueError("Invalid mode: {!r}".format(mode))
        if mode and 'b' not in mode:
            mode += 'b'
        if fileobj is None:
>           fileobj = self.myfileobj = builtins.open(filename, mode or 'rb')
E           FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/caj2pdf-restructured-0.1.0a6.tar.gz'

/usr/lib/python3.11/gzip.py:174: FileNotFoundError
__________________________ test_package_add_signature __________________________

tmp_path = PosixPath('/tmp/pytest-of-pbuilder1/pytest-0/test_package_add_signature0')

    def test_package_add_signature(tmp_path):
>       package = PackageFile.from_filename(
            str(FIXTURES / "artifacts/demo-0.0.1-py2.py3-none-any.whl"), None
        )

tests/cli/test_publish.py:47: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/cli/commands/publish/package.py:85: in from_filename
    metadata = cls.read_metadata_from_wheel(filename)
pdm/cli/commands/publish/package.py:130: in read_metadata_from_wheel
    with zipfile.ZipFile(filename, allowZip64=True) as zip:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
__________________________ test_package_call_gpg_sign __________________________

    def test_package_call_gpg_sign():
>       package = PackageFile.from_filename(
            str(FIXTURES / "artifacts/demo-0.0.1-py2.py3-none-any.whl"), None
        )

tests/cli/test_publish.py:56: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/cli/commands/publish/package.py:85: in from_filename
    metadata = cls.read_metadata_from_wheel(filename)
pdm/cli/commands/publish/package.py:130: in read_metadata_from_wheel
    with zipfile.ZipFile(filename, allowZip64=True) as zip:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl'

/usr/lib/python3.11/zipfile.py:1281: FileNotFoundError
_ test_convert_req_dict_to_req_line[/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl-demo @ file:///build/pdm-2.2.1%2Bds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl] _

self = <[AttributeError("'Requirement' object has no attribute 'name'") raised in repr()] Requirement object at 0xf4cb8730>
requirement_string = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl'

    def __init__(self, requirement_string: str) -> None:
        try:
>           parsed = parse_requirement(requirement_string)

/usr/lib/python3/dist-packages/packaging/requirements.py:35: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

source = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl'

    def parse_requirement(source: str) -> ParsedRequirement:
>       return _parse_requirement(Tokenizer(source, rules=DEFAULT_RULES))

/usr/lib/python3/dist-packages/packaging/_parser.py:64: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tokenizer = <packaging._tokenizer.Tokenizer object at 0xf4cb8090>

    def _parse_requirement(tokenizer: Tokenizer) -> ParsedRequirement:
        """
        requirement = WS? IDENTIFIER WS? extras WS? requirement_details
        """
        tokenizer.consume("WS")
    
>       name_token = tokenizer.expect(
            "IDENTIFIER", expected="package name at the start of dependency specifier"
        )

/usr/lib/python3/dist-packages/packaging/_parser.py:73: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <packaging._tokenizer.Tokenizer object at 0xf4cb8090>
name = 'IDENTIFIER'

    def expect(self, name: str, *, expected: str) -> Token:
        """Expect a certain token name next, failing with a syntax error otherwise.
    
        The token is *not* read.
        """
        if not self.check(name):
>           raise self.raise_syntax_error(f"Expected {expected}")

/usr/lib/python3/dist-packages/packaging/_tokenizer.py:138: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <packaging._tokenizer.Tokenizer object at 0xf4cb8090>
message = 'Expected package name at the start of dependency specifier'

    def raise_syntax_error(
        self,
        message: str,
        *,
        span_start: Optional[int] = None,
        span_end: Optional[int] = None,
    ) -> NoReturn:
        """Raise ParserSyntaxError at the given position."""
        span = (
            self.position if span_start is None else span_start,
            self.position if span_end is None else span_end,
        )
>       raise ParserSyntaxError(
            message,
            source=self.source,
            span=span,
        )
E       packaging._tokenizer.ParserSyntaxError: Expected package name at the start of dependency specifier
E           /build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl
E           ^

/usr/lib/python3/dist-packages/packaging/_tokenizer.py:163: ParserSyntaxError

The above exception was the direct cause of the following exception:

line = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl'
editable = False

    def parse_requirement(line: str, editable: bool = False) -> Requirement:
    
        m = _vcs_req_re.match(line)
        r: Requirement
        if m is not None:
            r = VcsRequirement.create(**m.groupdict())
        else:
            try:
>               package_req = PackageRequirement(line)  # type: ignore

pdm/models/requirements.py:483: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <[AttributeError("'Requirement' object has no attribute 'name'") raised in repr()] Requirement object at 0xf4cb8730>
requirement_string = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl'

    def __init__(self, requirement_string: str) -> None:
        try:
            parsed = parse_requirement(requirement_string)
        except ParserSyntaxError as e:
>           raise InvalidRequirement(str(e)) from e
E           packaging.requirements.InvalidRequirement: Expected package name at the start of dependency specifier
E               /build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl
E               ^

/usr/lib/python3/dist-packages/packaging/requirements.py:37: InvalidRequirement

During handling of the above exception, another exception occurred:

req = '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl'
result = 'demo @ file:///build/pdm-2.2.1%2Bds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl'

    @pytest.mark.parametrize("req, result", REQUIREMENTS)
    def test_convert_req_dict_to_req_line(req, result):
>       r = parse_requirement(req)

tests/models/test_requirements.py:64: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/models/requirements.py:488: in parse_requirement
    r = FileRequirement.create(**m.groupdict())
pdm/models/requirements.py:276: in create
    return super().create(**kwargs)  # type: ignore
pdm/models/requirements.py:157: in create
    return cls(
<string>:12: in __init__
    ???
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = FileRequirement(name='demo', marker=None, extras=None, specifier=None, editable=False, prerelease=False, url='file:///...m-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl'), subdirectory=None)

    def __post_init__(self) -> None:
        super().__post_init__()
        self._parse_url()
        if self.path and not self.path.exists():
>           raise RequirementError(f"The local path '{self.path}' does not exist.")
E           pdm.exceptions.RequirementError: The local path '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl' does not exist.

pdm/models/requirements.py:265: RequirementError
_____________________ test_normalize_pyspec[>=3.4.*->=3.4] _____________________

original = '>=3.4.*', normalized = '>=3.4'

    @pytest.mark.parametrize(
        "original,normalized",
        [
            (">=3.6", ">=3.6"),
            ("<3.8", "<3.8"),
            ("~=2.7.0", ">=2.7,<2.8"),
            ("", ""),
            (">=3.6,<3.8", ">=3.6,<3.8"),
            (">3.6", ">=3.6.1"),
            ("<=3.7", "<3.7.1"),
            ("<3.3,!=3.4.*,!=3.5.*", "<3.3"),
            (">=3.6,!=3.4.*", ">=3.6"),
            (">=3.6,!=3.6.*", ">=3.7"),
            (">=3.6,<3.8,!=3.8.*", ">=3.6,<3.8"),
            (">=2.7,<3.2,!=3.0.*,!=3.1.*", ">=2.7,<3.0"),
            ("!=3.0.*,!=3.0.2", "!=3.0.*"),
            (">=3.4.*", ">=3.4"),
            (">3.4.*", ">=3.5"),
            ("<=3.4.*", "<3.4"),
            ("<3.4.*", "<3.4"),
            ("<3.10.0a6", "<3.10.0a6"),
            ("<3.10.2a3", "<3.10.2a3"),
        ],
    )
    def test_normalize_pyspec(original, normalized):
>       spec = PySpecSet(original)

tests/models/test_specifiers.py:31: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/models/specifiers.py:63: in __init__
    super().__init__(version_str)
/usr/lib/python3/dist-packages/packaging/specifiers.py:711: in __init__
    parsed.add(Specifier(specifier))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <[AttributeError("'Specifier' object has no attribute '_prereleases'") raised in repr()] Specifier object at 0xf4b766f0>
spec = '>=3.4.*', prereleases = None

    def __init__(self, spec: str = "", prereleases: Optional[bool] = None) -> None:
        """Initialize a Specifier instance.
    
        :param spec:
            The string representation of a specifier which will be parsed and
            normalized before use.
        :param prereleases:
            This tells the specifier if it should accept prerelease versions if
            applicable or not. The default of ``None`` will autodetect it from the
            given specifiers.
        :raises InvalidSpecifier:
            If the given specifier is invalid (i.e. bad syntax).
        """
        match = self._regex.search(spec)
        if not match:
>           raise InvalidSpecifier(f"Invalid specifier: '{spec}'")
E           packaging.specifiers.InvalidSpecifier: Invalid specifier: '>=3.4.*'

/usr/lib/python3/dist-packages/packaging/specifiers.py:245: InvalidSpecifier
_____________________ test_normalize_pyspec[>3.4.*->=3.5] ______________________

original = '>3.4.*', normalized = '>=3.5'

    @pytest.mark.parametrize(
        "original,normalized",
        [
            (">=3.6", ">=3.6"),
            ("<3.8", "<3.8"),
            ("~=2.7.0", ">=2.7,<2.8"),
            ("", ""),
            (">=3.6,<3.8", ">=3.6,<3.8"),
            (">3.6", ">=3.6.1"),
            ("<=3.7", "<3.7.1"),
            ("<3.3,!=3.4.*,!=3.5.*", "<3.3"),
            (">=3.6,!=3.4.*", ">=3.6"),
            (">=3.6,!=3.6.*", ">=3.7"),
            (">=3.6,<3.8,!=3.8.*", ">=3.6,<3.8"),
            (">=2.7,<3.2,!=3.0.*,!=3.1.*", ">=2.7,<3.0"),
            ("!=3.0.*,!=3.0.2", "!=3.0.*"),
            (">=3.4.*", ">=3.4"),
            (">3.4.*", ">=3.5"),
            ("<=3.4.*", "<3.4"),
            ("<3.4.*", "<3.4"),
            ("<3.10.0a6", "<3.10.0a6"),
            ("<3.10.2a3", "<3.10.2a3"),
        ],
    )
    def test_normalize_pyspec(original, normalized):
>       spec = PySpecSet(original)

tests/models/test_specifiers.py:31: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/models/specifiers.py:63: in __init__
    super().__init__(version_str)
/usr/lib/python3/dist-packages/packaging/specifiers.py:711: in __init__
    parsed.add(Specifier(specifier))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <[AttributeError("'Specifier' object has no attribute '_prereleases'") raised in repr()] Specifier object at 0xf4f50bb0>
spec = '>3.4.*', prereleases = None

    def __init__(self, spec: str = "", prereleases: Optional[bool] = None) -> None:
        """Initialize a Specifier instance.
    
        :param spec:
            The string representation of a specifier which will be parsed and
            normalized before use.
        :param prereleases:
            This tells the specifier if it should accept prerelease versions if
            applicable or not. The default of ``None`` will autodetect it from the
            given specifiers.
        :raises InvalidSpecifier:
            If the given specifier is invalid (i.e. bad syntax).
        """
        match = self._regex.search(spec)
        if not match:
>           raise InvalidSpecifier(f"Invalid specifier: '{spec}'")
E           packaging.specifiers.InvalidSpecifier: Invalid specifier: '>3.4.*'

/usr/lib/python3/dist-packages/packaging/specifiers.py:245: InvalidSpecifier
_____________________ test_normalize_pyspec[<=3.4.*-<3.4] ______________________

original = '<=3.4.*', normalized = '<3.4'

    @pytest.mark.parametrize(
        "original,normalized",
        [
            (">=3.6", ">=3.6"),
            ("<3.8", "<3.8"),
            ("~=2.7.0", ">=2.7,<2.8"),
            ("", ""),
            (">=3.6,<3.8", ">=3.6,<3.8"),
            (">3.6", ">=3.6.1"),
            ("<=3.7", "<3.7.1"),
            ("<3.3,!=3.4.*,!=3.5.*", "<3.3"),
            (">=3.6,!=3.4.*", ">=3.6"),
            (">=3.6,!=3.6.*", ">=3.7"),
            (">=3.6,<3.8,!=3.8.*", ">=3.6,<3.8"),
            (">=2.7,<3.2,!=3.0.*,!=3.1.*", ">=2.7,<3.0"),
            ("!=3.0.*,!=3.0.2", "!=3.0.*"),
            (">=3.4.*", ">=3.4"),
            (">3.4.*", ">=3.5"),
            ("<=3.4.*", "<3.4"),
            ("<3.4.*", "<3.4"),
            ("<3.10.0a6", "<3.10.0a6"),
            ("<3.10.2a3", "<3.10.2a3"),
        ],
    )
    def test_normalize_pyspec(original, normalized):
>       spec = PySpecSet(original)

tests/models/test_specifiers.py:31: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/models/specifiers.py:63: in __init__
    super().__init__(version_str)
/usr/lib/python3/dist-packages/packaging/specifiers.py:711: in __init__
    parsed.add(Specifier(specifier))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <[AttributeError("'Specifier' object has no attribute '_prereleases'") raised in repr()] Specifier object at 0xf4c7baf0>
spec = '<=3.4.*', prereleases = None

    def __init__(self, spec: str = "", prereleases: Optional[bool] = None) -> None:
        """Initialize a Specifier instance.
    
        :param spec:
            The string representation of a specifier which will be parsed and
            normalized before use.
        :param prereleases:
            This tells the specifier if it should accept prerelease versions if
            applicable or not. The default of ``None`` will autodetect it from the
            given specifiers.
        :raises InvalidSpecifier:
            If the given specifier is invalid (i.e. bad syntax).
        """
        match = self._regex.search(spec)
        if not match:
>           raise InvalidSpecifier(f"Invalid specifier: '{spec}'")
E           packaging.specifiers.InvalidSpecifier: Invalid specifier: '<=3.4.*'

/usr/lib/python3/dist-packages/packaging/specifiers.py:245: InvalidSpecifier
______________________ test_normalize_pyspec[<3.4.*-<3.4] ______________________

original = '<3.4.*', normalized = '<3.4'

    @pytest.mark.parametrize(
        "original,normalized",
        [
            (">=3.6", ">=3.6"),
            ("<3.8", "<3.8"),
            ("~=2.7.0", ">=2.7,<2.8"),
            ("", ""),
            (">=3.6,<3.8", ">=3.6,<3.8"),
            (">3.6", ">=3.6.1"),
            ("<=3.7", "<3.7.1"),
            ("<3.3,!=3.4.*,!=3.5.*", "<3.3"),
            (">=3.6,!=3.4.*", ">=3.6"),
            (">=3.6,!=3.6.*", ">=3.7"),
            (">=3.6,<3.8,!=3.8.*", ">=3.6,<3.8"),
            (">=2.7,<3.2,!=3.0.*,!=3.1.*", ">=2.7,<3.0"),
            ("!=3.0.*,!=3.0.2", "!=3.0.*"),
            (">=3.4.*", ">=3.4"),
            (">3.4.*", ">=3.5"),
            ("<=3.4.*", "<3.4"),
            ("<3.4.*", "<3.4"),
            ("<3.10.0a6", "<3.10.0a6"),
            ("<3.10.2a3", "<3.10.2a3"),
        ],
    )
    def test_normalize_pyspec(original, normalized):
>       spec = PySpecSet(original)

tests/models/test_specifiers.py:31: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/models/specifiers.py:63: in __init__
    super().__init__(version_str)
/usr/lib/python3/dist-packages/packaging/specifiers.py:711: in __init__
    parsed.add(Specifier(specifier))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <[AttributeError("'Specifier' object has no attribute '_prereleases'") raised in repr()] Specifier object at 0xf4cb6130>
spec = '<3.4.*', prereleases = None

    def __init__(self, spec: str = "", prereleases: Optional[bool] = None) -> None:
        """Initialize a Specifier instance.
    
        :param spec:
            The string representation of a specifier which will be parsed and
            normalized before use.
        :param prereleases:
            This tells the specifier if it should accept prerelease versions if
            applicable or not. The default of ``None`` will autodetect it from the
            given specifiers.
        :raises InvalidSpecifier:
            If the given specifier is invalid (i.e. bad syntax).
        """
        match = self._regex.search(spec)
        if not match:
>           raise InvalidSpecifier(f"Invalid specifier: '{spec}'")
E           packaging.specifiers.InvalidSpecifier: Invalid specifier: '<3.4.*'

/usr/lib/python3/dist-packages/packaging/specifiers.py:245: InvalidSpecifier
______________ test_pyspec_is_subset_superset[>=3.11*->=3.11.0rc] ______________

left = '>=3.11*', right = '>=3.11.0rc'

    @pytest.mark.parametrize(
        "left,right",
        [
            ("~=2.7", ">=2.7"),
            (">=3.6", ""),
            (">=3.7", ">=3.6,<4.0"),
            (">=2.7,<3.0", ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*"),
            (">=3.6", ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*"),
            (
                ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*",
                ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*",
            ),
            (">=3.11*", ">=3.11.0rc"),  # 11* normalizes to 11.0
        ],
    )
    def test_pyspec_is_subset_superset(left, right):
>       left = PySpecSet(left)

tests/models/test_specifiers.py:98: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/models/specifiers.py:63: in __init__
    super().__init__(version_str)
/usr/lib/python3/dist-packages/packaging/specifiers.py:711: in __init__
    parsed.add(Specifier(specifier))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <[AttributeError("'Specifier' object has no attribute '_prereleases'") raised in repr()] Specifier object at 0xf6865e70>
spec = '>=3.11*', prereleases = None

    def __init__(self, spec: str = "", prereleases: Optional[bool] = None) -> None:
        """Initialize a Specifier instance.
    
        :param spec:
            The string representation of a specifier which will be parsed and
            normalized before use.
        :param prereleases:
            This tells the specifier if it should accept prerelease versions if
            applicable or not. The default of ``None`` will autodetect it from the
            given specifiers.
        :raises InvalidSpecifier:
            If the given specifier is invalid (i.e. bad syntax).
        """
        match = self._regex.search(spec)
        if not match:
>           raise InvalidSpecifier(f"Invalid specifier: '{spec}'")
E           packaging.specifiers.InvalidSpecifier: Invalid specifier: '>=3.11*'

/usr/lib/python3/dist-packages/packaging/specifiers.py:245: InvalidSpecifier
=========================== rerun test summary info ============================
RERUN .pybuild/cpython3_3.11/build/tests/test_integration.py::test_basic_integration[3.11]
RERUN .pybuild/cpython3_3.11/build/tests/test_integration.py::test_basic_integration[3.11]
RERUN .pybuild/cpython3_3.11/build/tests/test_integration.py::test_basic_integration[3.11]
=========================== short test summary info ============================
ERROR tests/test_formats.py::test_convert_pipfile - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_formats.py::test_convert_requirements_file[False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_formats.py::test_convert_requirements_file[True] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_formats.py::test_convert_requirements_file_without_name - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_formats.py::test_convert_poetry - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_formats.py::test_convert_flit - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_formats.py::test_export_setup_py - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_formats.py::test_import_requirements_with_group - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_formats.py::test_export_expand_env_vars_in_source - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_formats.py::test_export_replace_project_root - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_formats.py::test_convert_setup_py_project - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_install_wheel_with_inconsistent_dist_info - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_install_with_file_existing - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_uninstall_commit_rollback - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_rollback_after_commit - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_uninstall_with_console_scripts[False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_uninstall_with_console_scripts[True] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_install_wheel_with_cache - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_url_requirement_is_not_cached - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_install_wheel_with_data_scripts[False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_install_wheel_with_data_scripts[True] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_compress_file_list_for_rename - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_integration.py::test_actual_list_freeze - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_plugin.py::test_plugin_new_command - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_plugin.py::test_plugin_replace_command - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_project_python_with_pyenv_support - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_project_config_items - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_project_config_set_invalid_key - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_project_sources_overriding - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_project_sources_env_var_expansion - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_project_use_venv - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_project_packages_path - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_project_auto_detect_venv - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_ignore_saved_python - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_select_dependencies - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_global_python_path_config - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_set_non_exist_python_path - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_create_venv_first_time[virtualenv] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_create_venv_first_time[venv] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_create_venv_in_project[virtualenv-True] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_create_venv_in_project[virtualenv-False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_create_venv_in_project[venv-True] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_create_venv_in_project[venv-False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_find_interpreters_from_venv[virtualenv] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_find_interpreters_from_venv[venv] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_iter_project_venvs - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_signals.py::test_post_init_signal - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_signals.py::test_post_lock_and_install_signals - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_utils.py::test_dependency_group_selection[args0-golden0] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_utils.py::test_dependency_group_selection[args1-golden1] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_utils.py::test_dependency_group_selection[args2-golden2] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_utils.py::test_dependency_group_selection[args3-golden3] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_utils.py::test_dependency_group_selection[args4-golden4] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_utils.py::test_dependency_group_selection[args5-golden5] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_utils.py::test_dependency_group_selection[args6-golden6] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_utils.py::test_dependency_group_selection[args7-golden7] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_utils.py::test_prod_should_not_be_with_dev - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_add.py::test_add_package[False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_add.py::test_add_package[True] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_add.py::test_add_command - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_add.py::test_add_package_to_custom_group - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_add.py::test_add_package_to_custom_dev_group - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_add.py::test_add_editable_package - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_add.py::test_add_editable_package_to_metadata_forbidden - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_add.py::test_non_editable_override_editable - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_add.py::test_add_remote_package_url[False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_add.py::test_add_remote_package_url[True] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_add.py::test_add_no_install - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_add.py::test_add_package_save_exact - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_add.py::test_add_package_save_wildcard - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_add.py::test_add_package_save_minimum - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_add.py::test_add_package_update_reuse - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_add.py::test_add_package_update_eager - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_add.py::test_add_package_with_mismatch_marker - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_add.py::test_add_dependency_from_multiple_parents - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_add.py::test_add_packages_without_self - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_add.py::test_add_package_unconstrained_rewrite_specifier - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_add.py::test_add_cached_vcs_requirement - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_add.py::test_add_with_dry_run - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_add.py::test_add_with_prerelease - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_add.py::test_add_editable_package_with_extras - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_build.py::test_build_command - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_build.py::test_build_global_project_forbidden - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_build.py::test_build_single_module - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_build.py::test_build_single_module_with_readme - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_build.py::test_build_package - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_build.py::test_build_src_package - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_build.py::test_build_package_include - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_build.py::test_build_src_package_by_include - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_build.py::test_build_with_config_settings - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_build.py::test_cli_build_with_config_settings - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_build.py::test_build_with_no_isolation[True] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_build.py::test_build_with_no_isolation[False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_build.py::test_build_ignoring_pip_environment - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_cache.py::test_cache_list - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_cache.py::test_cache_list_pattern - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_cache.py::test_cache_remove_pattern - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_cache.py::test_cache_remove_wildcard - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_cache.py::test_cache_clear - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_cache.py::test_cache_remove_no_pattern - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_cache.py::test_cache_info - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_cache.py::test_hash_cache[http:/fixtures.test/artifacts/demo-0.0.1.tar.gz-sha256:d57bf5e3b8723e4fc68275159dcc4ca983d86d4c84220a4d715d491401f27db2] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_cache.py::test_hash_cache[file:/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/demo-0.0.1.tar.gz-sha256:d57bf5e3b8723e4fc68275159dcc4ca983d86d4c84220a4d715d491401f27db2] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_cache.py::test_hash_cache[http:/fixtures.test/artifacts/demo-0.0.1.tar.gz#sha384=9130e5e4912bc78b1ffabbf406d56bc74b9165b0adc8c627168b7b563b80d5ff6c30e269398d01144ee52aa33292682d-sha384:9130e5e4912bc78b1ffabbf406d56bc74b9165b0adc8c627168b7b563b80d5ff6c30e269398d01144ee52aa33292682d] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_cache.py::test_hash_cache[http:/fixtures.test/artifacts/demo-0.0.1.tar.gz#md5=5218509812c9fcb4646adde8fd3307e1-sha256:d57bf5e3b8723e4fc68275159dcc4ca983d86d4c84220a4d715d491401f27db2] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_cache.py::test_clear_package_cache - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_config.py::test_config_command - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_config.py::test_config_get_command - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_config.py::test_config_set_command - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_config.py::test_config_del_command - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_config.py::test_config_env_var_shadowing - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_config.py::test_config_project_global_precedence - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_config.py::test_default_repository_setting - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_config.py::test_repository_config_not_available_on_project - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_config.py::test_repository_config_key_short - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_config.py::test_repository_overwrite_default - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_config.py::test_hide_password_in_output - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_config.py::test_config_get_repository - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_config.py::test_config_set_repository - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_config.py::test_config_del_repository - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_pre_script_fail_fast - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_pre_and_post_scripts - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_composite_runs_all_hooks - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_all_hooks_option[:all] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_all_hooks_option[:pre,:post] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_option[--skip pre_test,post_first,second] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_option[-k pre_test,post_first,second] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_option[--skip pre_test --skip post_first --skip second] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_option[-k pre_test -k post_first -k second] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_option[--skip pre_test --skip post_first,second] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_option[-k pre_test -k post_first,second] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_option_default_from_env[pre_test-expected0] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_option_default_from_env[pre_test,post_test-expected1] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_option_default_from_env[pre_test , post_test-expected2] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_option_default_from_env[None-None] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_option_default_from_env[ -None] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_option_default_from_env[ , -None] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_hooks[add] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_hooks[build] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_hooks[init] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_hooks[install] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_hooks[lock] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_hooks[publish] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_hooks[remove] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_hooks[sync] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_hooks[update] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_hooks[use] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_option_from_signal[add-pre_lock] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_option_from_signal[add-post_lock] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_option_from_signal[build-pre_build] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_option_from_signal[build-post_build] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_option_from_signal[init-post_init] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_option_from_signal[install-pre_install] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_option_from_signal[install-post_install] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_option_from_signal[install-pre_lock] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_option_from_signal[install-post_lock] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_option_from_signal[lock-pre_lock] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_option_from_signal[lock-post_lock] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_option_from_signal[publish-pre_publish] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_option_from_signal[publish-pre_build] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_option_from_signal[publish-post_build] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_option_from_signal[publish-post_publish] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_option_from_signal[remove-pre_lock] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_option_from_signal[remove-post_lock] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_option_from_signal[sync-pre_install] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_option_from_signal[sync-post_install] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_option_from_signal[update-pre_install] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_option_from_signal[update-post_install] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_option_from_signal[update-pre_lock] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_option_from_signal[update-post_lock] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_option_from_signal[use-post_use] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_all_option_from_signal[:all-add] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_all_option_from_signal[:all-build] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_all_option_from_signal[:all-init] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_all_option_from_signal[:all-install] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_all_option_from_signal[:all-lock] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_all_option_from_signal[:all-publish] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_all_option_from_signal[:all-remove] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_all_option_from_signal[:all-sync] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_all_option_from_signal[:all-update] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_all_option_from_signal[:all-use] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_all_option_from_signal[:pre,:post-add] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_all_option_from_signal[:pre,:post-build] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_all_option_from_signal[:pre,:post-init] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_all_option_from_signal[:pre,:post-install] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_all_option_from_signal[:pre,:post-lock] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_all_option_from_signal[:pre,:post-publish] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_all_option_from_signal[:pre,:post-remove] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_all_option_from_signal[:pre,:post-sync] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_all_option_from_signal[:pre,:post-update] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_all_option_from_signal[:pre,:post-use] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[pre-add] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[pre-build] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[pre-init] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[pre-install] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[pre-lock] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[pre-publish] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[pre-remove] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[pre-sync] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[pre-update] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[pre-use] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[post-add] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[post-build] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[post-init] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[post-install] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[post-lock] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[post-publish] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[post-remove] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[post-sync] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[post-update] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[post-use] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_init.py::test_init_validate_python_requires - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_init.py::test_init_command - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_init.py::test_init_command_library - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_init.py::test_init_non_interactive - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_init.py::test_init_auto_create_venv - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_init.py::test_init_auto_create_venv_specify_python - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_init.py::test_init_auto_create_venv_answer_no - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_sync_packages_with_group_all - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_sync_packages_with_all_dev - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_sync_no_lockfile - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_sync_clean_packages - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_sync_dry_run - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_sync_only_different - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_sync_in_sequential_mode - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_sync_packages_with_groups - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_sync_production_packages[False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_sync_production_packages[True] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_sync_without_self - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_sync_with_index_change - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_install_command - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_sync_command - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_install_with_lockfile - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_install_with_dry_run - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_install_check - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_sync_with_pure_option - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_install_referencing_self_package - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_list.py::test_list_command - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_list.py::test_list_graph_command - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_list.py::test_list_dependency_graph - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_list.py::test_list_dependency_graph_include_exclude - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_list.py::test_list_dependency_graph_with_circular_forward - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_list.py::test_list_dependency_graph_with_circular_reverse - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_list.py::test_list_reverse_without_graph_flag - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_list.py::test_list_reverse_dependency_graph - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_list.py::test_list_json - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_list.py::test_list_json_reverse - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_list.py::test_list_json_with_circular_forward - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_list.py::test_list_json_with_circular_reverse - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_list.py::test_list_field_unknown - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_list.py::test_list_sort_unknown - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_list.py::test_list_freeze_banned_options - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_list.py::test_list_multiple_export_formats - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_list.py::test_list_bare - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_list.py::test_list_bare_sorted_name - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_list.py::test_list_freeze - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_list.py::test_list_bare_sorted_version - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_list.py::test_list_bare_sorted_version_resolve - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_list.py::test_list_bare_fields_licences - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_list.py::test_list_csv_fields_licences - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_list.py::test_list_json_fields_licences - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_list.py::test_list_markdown_fields_licences - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_list.py::test_list_csv_include_exclude_valid - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_list.py::test_list_csv_include_exclude - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lock_command - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lock_dependencies - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lock_refresh - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lock_refresh_keep_consistent - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lock_check_no_change_success - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lock_check_change_fails - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_innovations_with_specified_lockfile - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_skip_editable_dependencies_in_metadata - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_others.py::test_build_distributions - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_others.py::test_project_no_init_error - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_others.py::test_info_command - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_others.py::test_global_project_other_location - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_others.py::test_import_other_format_file[requirements.txt] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_others.py::test_import_other_format_file[Pipfile] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_others.py::test_import_other_format_file[pyproject-poetry.toml] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_others.py::test_import_other_format_file[projects/flit-demo/pyproject.toml] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_others.py::test_import_requirement_no_overwrite - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_others.py::test_show_self_package - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_others.py::test_export_to_requirements_txt - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_others.py::test_export_doesnt_include_dep_with_extras - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_others.py::test_show_update_hint - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_publish.py::test_repository_get_release_urls - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_publish.py::test_publish_pick_up_asc_files - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_publish.py::test_publish_package_with_signature - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_publish.py::test_publish_and_build_in_one_run - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_publish.py::test_publish_cli_args_and_env_var_precedence - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_remove.py::test_remove_command - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_remove.py::test_remove_editable_packages_while_keeping_normal - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_remove.py::test_remove_package[False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_remove.py::test_remove_package[True] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_remove.py::test_remove_package_with_dry_run - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_remove.py::test_remove_package_no_sync - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_remove.py::test_remove_package_not_exist - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_remove.py::test_remove_package_exist_in_multi_groups - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_remove.py::test_add_remove_no_package - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_remove.py::test_remove_package_wont_break_toml - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_pep582_launcher_for_python_interpreter - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_auto_isolate_site_packages - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_with_site_packages - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_cmd_script - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_cmd_script_with_array - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_script_pass_project_root - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_shell_script - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_call_script - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_script_with_extra_args - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_expand_env_vars - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_script_with_env_defined - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_script_with_dotenv_file - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_script_override_global_env - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_show_list_of_scripts - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_with_another_project_root - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_import_another_sitecustomize - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_with_patched_sysconfig - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_composite - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_composite_stops_on_first_failure - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_composite_inherit_env - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_composite_fail_on_first_missing_task - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_composite_runs_all_hooks - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_composite_pass_parameters_to_subtasks - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_composite_can_pass_parameters - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_composite_hooks_inherit_env - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_composite_inherit_env_in_cascade - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_composite_inherit_dotfile - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_composite_can_have_commands - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_shortcut - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_shortcuts_dont_override_commands - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_shortcut_fail_with_usage_if_script_not_found - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_empty_positionnal_args_still_display_usage[no args] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_empty_positionnal_args_still_display_usage[unknown param] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_empty_positionnal_args_still_display_usage[not an user script] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_update.py::test_update_packages_with_top - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_update.py::test_update_command - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_update.py::test_update_ignore_constraints - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_update.py::test_update_all_packages[reuse] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_update.py::test_update_all_packages[all] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_update.py::test_update_dry_run - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_update.py::test_update_top_packages_dry_run - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_update.py::test_update_specified_packages - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_update.py::test_update_specified_packages_eager_mode - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_update.py::test_update_with_package_and_groups_argument - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_update.py::test_update_with_prerelease_without_package_argument - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_update.py::test_update_existing_package_with_prerelease - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_update.py::test_update_package_with_extras - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_use.py::test_use_command - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_use.py::test_use_python_by_version - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_use.py::test_use_wrapper_python - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_use.py::test_use_invalid_wrapper_python - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_use.py::test_use_remember_last_selection - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_venv.py::test_venv_create - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_venv.py::test_venv_create_in_project - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_venv.py::test_venv_list - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_venv.py::test_venv_remove - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_venv.py::test_venv_recreate - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_venv.py::test_venv_activate[virtualenv] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_venv.py::test_venv_activate[venv] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_venv.py::test_venv_activate_custom_prompt[virtualenv] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_venv.py::test_venv_activate_custom_prompt[venv] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_venv.py::test_venv_activate_project_without_python - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_venv.py::test_venv_activate_error - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_venv.py::test_venv_auto_create[True] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_venv.py::test_venv_auto_create[False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_venv.py::test_venv_purge - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_venv.py::test_venv_purge_force - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_venv.py::test_venv_purge_interactive[virtualenv-none-True] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_venv.py::test_venv_purge_interactive[virtualenv-0-False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_venv.py::test_venv_purge_interactive[virtualenv-all-False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_venv.py::test_venv_purge_interactive[venv-none-True] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_venv.py::test_venv_purge_interactive[venv-0-False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_venv.py::test_venv_purge_interactive[venv-all-False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_venv.py::test_virtualenv_backend_create[True] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_venv.py::test_virtualenv_backend_create[False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_venv.py::test_venv_backend_create[True] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_venv.py::test_venv_backend_create[False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_venv.py::test_conda_backend_create[True] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_venv.py::test_conda_backend_create[False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_candidates.py::test_parse_local_directory_metadata[False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_candidates.py::test_parse_local_directory_metadata[True] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_candidates.py::test_parse_vcs_metadata[False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_candidates.py::test_parse_vcs_metadata[True] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_candidates.py::test_parse_artifact_metadata[/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/demo-0.0.1.tar.gz] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_candidates.py::test_parse_artifact_metadata[/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_candidates.py::test_parse_metadata_with_extras - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_candidates.py::test_parse_remote_link_metadata - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_candidates.py::test_extras_warning - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_candidates.py::test_parse_abnormal_specifiers - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_candidates.py::test_expand_project_root_in_url[demo @ file:/${PROJECT_ROOT}/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_candidates.py::test_expand_project_root_in_url[demo @ file:/${PROJECT_ROOT}/tests/fixtures/artifacts/demo-0.0.1.tar.gz] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_candidates.py::test_expand_project_root_in_url[demo @ file:/${PROJECT_ROOT}/tests/fixtures/projects/demo] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_candidates.py::test_expand_project_root_in_url[-e ${PROJECT_ROOT}/tests/fixtures/projects/demo] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_candidates.py::test_parse_project_file_on_build_error - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_candidates.py::test_parse_project_file_on_build_error_with_extras - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_candidates.py::test_parse_project_file_on_build_error_no_dep - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_candidates.py::test_parse_poetry_project_metadata[False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_candidates.py::test_parse_poetry_project_metadata[True] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_candidates.py::test_parse_flit_project_metadata[False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_candidates.py::test_parse_flit_project_metadata[True] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_candidates.py::test_vcs_candidate_in_subdirectory[False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_candidates.py::test_vcs_candidate_in_subdirectory[True] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_candidates.py::test_sdist_candidate_with_wheel_cache - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_candidates.py::test_cache_vcs_immutable_revision - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_candidates.py::test_cache_egg_info_sdist - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_candidates.py::test_invalidate_incompatible_wheel_link - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_candidates.py::test_legacy_pep345_tag_link - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_candidates.py::test_ignore_invalid_py_version - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_candidates.py::test_find_candidates_from_find_links - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_candidates.py::test_parse_metadata_from_pep621 - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_candidates.py::test_parse_metadata_with_dynamic_fields - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_resolve_named_requirement - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_resolve_requires_python - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_resolve_allow_prereleases - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_resolve_with_extras - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_resolve_local_artifacts[sdist] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_resolve_local_artifacts[wheel] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_resolve_vcs_and_local_requirements[False-/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/projects/demo] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_resolve_vcs_and_local_requirements[False-git+https:/github.com/test-root/demo.git#egg=demo] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_resolve_vcs_and_local_requirements[True-/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/projects/demo] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_resolve_vcs_and_local_requirements[True-git+https:/github.com/test-root/demo.git#egg=demo] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_resolve_vcs_without_explicit_name - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_resolve_local_and_named_requirement - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_resolving_auto_avoid_conflicts - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_resolve_conflicting_dependencies - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_resolve_conflicting_dependencies_with_overrides[2.1] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_resolve_conflicting_dependencies_with_overrides[>=1.8] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_resolve_conflicting_dependencies_with_overrides[==2.1] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_resolve_no_available_versions - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_exclude_incompatible_requirements - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_union_markers_from_different_parents - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_requirements_from_different_groups - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_resolve_two_extras_from_the_same_package - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_resolve_package_with_dummy_upbound - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_resolve_dependency_with_extra_marker - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_resolve_circular_dependencies - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_resolve_candidates_to_install - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_resolve_prefer_requirement_with_prereleases - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_resolve_with_python_marker - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_resolve_file_req_with_prerelease - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_resolve_extra_requirements_no_break_constraints - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_resolve_extra_and_underlying_to_the_same_version - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
FAILED tests/test_integration.py::test_basic_integration[3.11] - RuntimeError: Call command ['add', 'django', '-v'] failed(1): pdm.termui: ======== Start resolving requirements ========
pdm.termui:   django
pdm.termui:   python>=3.6
pdm.termui:   Adding requirement django
FAILED tests/cli/test_others.py::test_search_package - assert 1 == 0
 +  where 1 = RunResult(exit_code=1, stdout='', stderr="[ProxyError]: HTTPSConnectionPool(host='pypi.org', port=443): Max retries ex...ablish a new connection: [Errno 111] Connection refused')))\nAdd '-v' to see the detailed traceback\n", exception=None).exit_code
FAILED tests/cli/test_others.py::test_show_package_on_pypi - assert 1 == 0
 +  where 1 = RunResult(exit_code=1, stdout='', stderr="__pypackages__ is detected, using the PEP 582 mode\n[ProxyError]: HTTPSConne...ablish a new connection: [Errno 111] Connection refused')))\nAdd '-v' to see the detailed traceback\n", exception=None).exit_code
FAILED tests/cli/test_publish.py::test_package_parse_metadata[demo-0.0.1-py2.py3-none-any.whl] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl'
FAILED tests/cli/test_publish.py::test_package_parse_metadata[demo-0.0.1.tar.gz] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/demo-0.0.1.tar.gz'
FAILED tests/cli/test_publish.py::test_package_parse_metadata[demo-0.0.1.zip] - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/demo-0.0.1.zip'
FAILED tests/cli/test_publish.py::test_parse_metadata_with_non_ascii_chars - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/caj2pdf-restructured-0.1.0a6.tar.gz'
FAILED tests/cli/test_publish.py::test_package_add_signature - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl'
FAILED tests/cli/test_publish.py::test_package_call_gpg_sign - FileNotFoundError: [Errno 2] No such file or directory: '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl'
FAILED tests/models/test_requirements.py::test_convert_req_dict_to_req_line[/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl-demo @ file:/build/pdm-2.2.1%2Bds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl] - pdm.exceptions.RequirementError: The local path '/build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl' does not exist.
FAILED tests/models/test_specifiers.py::test_normalize_pyspec[>=3.4.*->=3.4] - packaging.specifiers.InvalidSpecifier: Invalid specifier: '>=3.4.*'
FAILED tests/models/test_specifiers.py::test_normalize_pyspec[>3.4.*->=3.5] - packaging.specifiers.InvalidSpecifier: Invalid specifier: '>3.4.*'
FAILED tests/models/test_specifiers.py::test_normalize_pyspec[<=3.4.*-<3.4] - packaging.specifiers.InvalidSpecifier: Invalid specifier: '<=3.4.*'
FAILED tests/models/test_specifiers.py::test_normalize_pyspec[<3.4.*-<3.4] - packaging.specifiers.InvalidSpecifier: Invalid specifier: '<3.4.*'
FAILED tests/models/test_specifiers.py::test_pyspec_is_subset_superset[>=3.11*->=3.11.0rc] - packaging.specifiers.InvalidSpecifier: Invalid specifier: '>=3.11*'
======== 15 failed, 139 passed, 442 errors, 3 rerun in 75.22s (0:01:15) ========
E: pybuild pybuild:388: test: plugin pyproject failed with: exit code=1: cd /build/pdm-2.2.1+ds1/.pybuild/cpython3_3.11/build; python3.11 -m pytest tests
	rm -fr -- /tmp/dh-xdg-rundir-6BLu4cad
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.11 returned exit code 13
make[1]: [debian/rules:16: override_dh_auto_test] Error 25 (ignored)
make[1]: Leaving directory '/build/pdm-2.2.1+ds1'
   create-stamp debian/debhelper-build-stamp
   dh_testroot -O--buildsystem=pybuild
   dh_prep -O--buildsystem=pybuild
	rm -f -- debian/python3-pdm.substvars
	rm -fr -- debian/.debhelper/generated/python3-pdm/ debian/python3-pdm/ debian/tmp/
   dh_auto_install --destdir=debian/python3-pdm/ -O--buildsystem=pybuild
	install -m0755 -d /build/pdm-2.2.1\+ds1/debian/python3-pdm
	pybuild --install -i python{version} -p 3.11 --dest-dir /build/pdm-2.2.1\+ds1/debian/python3-pdm
I: pybuild plugin_pyproject:161: Copying package built for python3.11 to destdir
   dh_installdocs -O--buildsystem=pybuild
	install -m0755 -d debian/python3-pdm/usr/share/doc/python3-pdm
	install -m0755 -d debian/python3-pdm/usr/share/doc/python3-pdm
	cp --reflink=auto -a ./README.md debian/python3-pdm/usr/share/doc/python3-pdm
	cp --reflink=auto -a ./README_zh.md debian/python3-pdm/usr/share/doc/python3-pdm
	chmod -R u\+rw,go=rX debian/python3-pdm/usr/share/doc
	install -p -m0644 debian/copyright debian/python3-pdm/usr/share/doc/python3-pdm/copyright
   debian/rules override_dh_installchangelogs
make[1]: Entering directory '/build/pdm-2.2.1+ds1'
dh_installchangelogs -k CHANGELOG.md
	install -m0755 -d debian/python3-pdm/usr/share/doc/python3-pdm
	install -p -m0644 debian/.debhelper/generated/python3-pdm/dh_installchangelogs.dch.trimmed debian/python3-pdm/usr/share/doc/python3-pdm/changelog.Debian
	install -p -m0644 CHANGELOG.md debian/python3-pdm/usr/share/doc/python3-pdm/changelog
	ln -sf changelog debian/python3-pdm/usr/share/doc/python3-pdm/CHANGELOG.md
make[1]: Leaving directory '/build/pdm-2.2.1+ds1'
   dh_python3 -O--buildsystem=pybuild
D: dh_python3 dh_python3:179: version: 5.20230130
D: dh_python3 dh_python3:180: argv: ['/usr/bin/dh_python3', '-O--buildsystem=pybuild']
D: dh_python3 dh_python3:181: options: Namespace(guess_deps=True, skip_private=False, verbose=True, arch=None, package=None, no_package=None, remaining_packages=False, compile_all=False, vrange=None, regexpr=None, accept_upstream_versions=False, depends=None, depends_section=None, recommends=None, recommends_section=None, suggests=None, suggests_section=None, requires=None, shebang=None, ignore_shebangs=False, clean_dbg_pkg=True, no_ext_rename=False, no_shebang_rewrite=False, private_dir=None, O=['--buildsystem=pybuild'])
D: dh_python3 dh_python3:182: supported Python versions: 3.11 (default=3.11)
D: dh_python3 debhelper:183: source=pdm, binary packages=['python3-pdm']
D: dh_python3 dh_python3:204: processing package python3-pdm...
D: dh_python3 fs:52: moving files from debian/python3-pdm/usr/lib/python3.11/dist-packages to debian/python3-pdm/usr/lib/python3/dist-packages/
D: dh_python3 fs:245: Removing ['licenses/LICENSE'] from RECORD in debian/python3-pdm/usr/lib/python3/dist-packages/pdm-2.2.1.dist-info
D: dh_python3 fs:400: package python3-pdm details = {'requires.txt': set(), 'egg-info': set(), 'dist-info': {'debian/python3-pdm/usr/lib/python3/dist-packages/pdm-2.2.1.dist-info/METADATA'}, 'nsp.txt': set(), 'shebangs': {/usr/bin/python3}, 'public_vers': {Version('3')}, 'private_dirs': {}, 'compile': True, 'ext_vers': set(), 'ext_no_version': set()}
D: dh_python3 depends:117: generating dependencies for package python3-pdm
D: dh_python3 pydist:173: trying to find dependency for blinker (python=None)
D: dh_python3 pydist:207: dependency: module seems to be installed
D: dh_python3 pydist:270: dependency: included in build-deps
D: dh_python3 pydist:173: trying to find dependency for cachecontrol[filecache]>=0.12.11 (python=None)
D: dh_python3 pydist:207: dependency: module seems to be installed
D: dh_python3 pydist:270: dependency: included in build-deps
D: dh_python3 pydist:173: trying to find dependency for certifi>=2022.6.15 (python=None)
D: dh_python3 pydist:207: dependency: module seems to be installed
D: dh_python3 pydist:263: dependency: included in build-deps with limits 
D: dh_python3 pydist:173: trying to find dependency for findpython>=0.2.0 (python=None)
D: dh_python3 pydist:207: dependency: module seems to be installed
D: dh_python3 pydist:270: dependency: included in build-deps
D: dh_python3 pydist:173: trying to find dependency for importlib-metadata>=3.6; python_version < "3.10" (python=None)
D: dh_python3 pydist:207: dependency: module seems to be installed
D: dh_python3 pydist:270: dependency: included in build-deps
D: dh_python3 pydist:173: trying to find dependency for installer<0.6,>=0.5.1 (python=None)
D: dh_python3 pydist:207: dependency: module seems to be installed
D: dh_python3 pydist:270: dependency: included in build-deps
D: dh_python3 pydist:173: trying to find dependency for packaging>=20.9 (python=None)
D: dh_python3 pydist:207: dependency: module seems to be installed
D: dh_python3 pydist:270: dependency: included in build-deps
D: dh_python3 pydist:173: trying to find dependency for pdm-pep517<2.0.0,>=1.0.0 (python=None)
D: dh_python3 pydist:207: dependency: module seems to be installed
D: dh_python3 pydist:263: dependency: included in build-deps with limits 
D: dh_python3 pydist:173: trying to find dependency for pep517>=0.11.0 (python=None)
D: dh_python3 pydist:207: dependency: module seems to be installed
D: dh_python3 pydist:270: dependency: included in build-deps
D: dh_python3 pydist:173: trying to find dependency for platformdirs (python=None)
D: dh_python3 pydist:207: dependency: module seems to be installed
D: dh_python3 pydist:270: dependency: included in build-deps
D: dh_python3 pydist:173: trying to find dependency for python-dotenv>=0.15 (python=None)
D: dh_python3 pydist:207: dependency: module seems to be installed
D: dh_python3 pydist:270: dependency: included in build-deps
D: dh_python3 pydist:173: trying to find dependency for requests-toolbelt (python=None)
D: dh_python3 pydist:207: dependency: module seems to be installed
D: dh_python3 pydist:270: dependency: included in build-deps
D: dh_python3 pydist:173: trying to find dependency for resolvelib<0.9,>=0.8 (python=None)
D: dh_python3 pydist:207: dependency: module seems to be installed
D: dh_python3 pydist:270: dependency: included in build-deps
D: dh_python3 pydist:173: trying to find dependency for rich>=12.3.0 (python=None)
D: dh_python3 pydist:207: dependency: module seems to be installed
D: dh_python3 pydist:270: dependency: included in build-deps
D: dh_python3 pydist:173: trying to find dependency for shellingham>=1.3.2 (python=None)
D: dh_python3 pydist:207: dependency: module seems to be installed
D: dh_python3 pydist:270: dependency: included in build-deps
D: dh_python3 pydist:173: trying to find dependency for tomli>=1.1.0; python_version < "3.11" (python=None)
D: dh_python3 pydist:207: dependency: module seems to be installed
D: dh_python3 pydist:270: dependency: included in build-deps
D: dh_python3 pydist:173: trying to find dependency for tomlkit<1,>=0.8.0 (python=None)
D: dh_python3 pydist:207: dependency: module seems to be installed
D: dh_python3 pydist:270: dependency: included in build-deps
D: dh_python3 pydist:173: trying to find dependency for typing-extensions; python_version < "3.8" (python=None)
D: dh_python3 pydist:207: dependency: module seems to be installed
D: dh_python3 pydist:270: dependency: included in build-deps
D: dh_python3 pydist:173: trying to find dependency for unearth>=0.6.0 (python=None)
D: dh_python3 pydist:207: dependency: module seems to be installed
D: dh_python3 pydist:263: dependency: included in build-deps with limits 
D: dh_python3 pydist:173: trying to find dependency for virtualenv>=20 (python=None)
D: dh_python3 pydist:207: dependency: module seems to be installed
D: dh_python3 pydist:270: dependency: included in build-deps
D: dh_python3 depends:281: D={'python3:any', 'python3-pdm-pep517 (>= 1.0.0)', 'python3-blinker', 'python3-tomli | python3 (>> 3.11)', 'python3-shellingham', 'python3-rich', 'python3-requests-toolbelt', 'python3-dotenv', 'python3-certifi (>> 2022.6.15)', 'python3-installer', 'python3-resolvelib', 'python3-tomlkit', 'python3-pep517', 'python3-typing-extensions | python3 (>> 3.8)', 'python3-virtualenv', 'python3-packaging', 'python3-unearth (>= 0.6~)', 'python3-importlib-metadata | python3 (>> 3.10)', 'python3-findpython', 'python3-cachecontrol', 'python3-platformdirs'}; R=[]; S=[]; E=[], B=[]; RT=[]
	rm -f debian/python3-pdm.debhelper.log
   debian/rules execute_after_dh_python3
make[1]: Entering directory '/build/pdm-2.2.1+ds1'
# Drop .pdm.toml
rm -fv debian/*/usr/lib/python3/dist-packages/.pdm.toml
# Drop __pypackages__
rm -rfv debian/*/usr/lib/python3/dist-packages/__pypackages__
make[1]: Leaving directory '/build/pdm-2.2.1+ds1'
   dh_installsystemduser -O--buildsystem=pybuild
   dh_perl -O--buildsystem=pybuild
   dh_link -O--buildsystem=pybuild
	rm -f debian/python3-pdm/usr/share/doc/python3-pdm/CHANGELOG.md
	ln -s changelog debian/python3-pdm/usr/share/doc/python3-pdm/CHANGELOG.md
   dh_strip_nondeterminism -O--buildsystem=pybuild
   dh_compress -O--buildsystem=pybuild
	cd debian/python3-pdm
	chmod a-x usr/share/doc/python3-pdm/README.md usr/share/doc/python3-pdm/README_zh.md usr/share/doc/python3-pdm/changelog usr/share/doc/python3-pdm/changelog.Debian
	gzip -9nf usr/share/doc/python3-pdm/README.md usr/share/doc/python3-pdm/README_zh.md usr/share/doc/python3-pdm/changelog usr/share/doc/python3-pdm/changelog.Debian
	cd '/build/pdm-2.2.1+ds1'
	rm -f debian/python3-pdm/usr/share/doc/python3-pdm/CHANGELOG.md debian/python3-pdm/usr/share/doc/python3-pdm/CHANGELOG.md.gz
	ln -s changelog.gz debian/python3-pdm/usr/share/doc/python3-pdm/CHANGELOG.md.gz
   dh_fixperms -O--buildsystem=pybuild
	find debian/python3-pdm ! -type l -a -true -a -true -print0 2>/dev/null | xargs -0r chmod go=rX,u+rw,a-s
	find debian/python3-pdm/usr/share/doc -type f -a -true -a ! -regex 'debian/python3-pdm/usr/share/doc/[^/]*/examples/.*' -print0 2>/dev/null | xargs -0r chmod 0644
	find debian/python3-pdm/usr/share/doc -type d -a -true -a -true -print0 2>/dev/null | xargs -0r chmod 0755
	find debian/python3-pdm -type f \( -name '*.so.*' -o -name '*.so' -o -name '*.la' -o -name '*.a' -o -name '*.js' -o -name '*.css' -o -name '*.scss' -o -name '*.sass' -o -name '*.jpeg' -o -name '*.jpg' -o -name '*.png' -o -name '*.gif' -o -name '*.cmxs' -o -name '*.node' \) -a -true -a -true -print0 2>/dev/null | xargs -0r chmod 0644
	find debian/python3-pdm/usr/bin -type f -a -true -a -true -print0 2>/dev/null | xargs -0r chmod a+x
	find debian/python3-pdm/usr/lib -type f -name '*.ali' -a -true -a -true -print0 2>/dev/null | xargs -0r chmod uga-w
   dh_missing -O--buildsystem=pybuild
   dh_installdeb -O--buildsystem=pybuild
	install -m0755 -d debian/python3-pdm/DEBIAN
	printf '#!/bin/sh\nset -e\n' > debian/python3-pdm/DEBIAN/postinst
	cat debian/python3-pdm.postinst.debhelper >> debian/python3-pdm/DEBIAN/postinst
	chmod 0755 -- debian/python3-pdm/DEBIAN/postinst
	printf '#!/bin/sh\nset -e\n' > debian/python3-pdm/DEBIAN/prerm
	cat debian/python3-pdm.prerm.debhelper >> debian/python3-pdm/DEBIAN/prerm
	chmod 0755 -- debian/python3-pdm/DEBIAN/prerm
   dh_gencontrol -O--buildsystem=pybuild
	install -m0755 -d debian/python3-pdm/DEBIAN
	echo misc:Depends= >> debian/python3-pdm.substvars
	echo misc:Pre-Depends= >> debian/python3-pdm.substvars
	dpkg-gencontrol -ppython3-pdm -ldebian/changelog -Tdebian/python3-pdm.substvars -Pdebian/python3-pdm
	chmod 0644 -- debian/python3-pdm/DEBIAN/control
   dh_md5sums -O--buildsystem=pybuild
	install -m0755 -d debian/python3-pdm/DEBIAN
	cd debian/python3-pdm >/dev/null && xargs -r0 md5sum | perl -pe 'if (s@^\\@@) { s/\\\\/\\/g; }' > DEBIAN/md5sums
	chmod 0644 -- debian/python3-pdm/DEBIAN/md5sums
   dh_builddeb -O--buildsystem=pybuild
	dpkg-deb --root-owner-group --build debian/python3-pdm ..
dpkg-deb: building package 'python3-pdm' in '../python3-pdm_2.2.1+ds1-1_all.deb'.
 dpkg-genbuildinfo --build=binary -O../pdm_2.2.1+ds1-1_i386.buildinfo
 dpkg-genchanges --build=binary -O../pdm_2.2.1+ds1-1_i386.changes
dpkg-genchanges: info: binary-only upload (no source code included)
 dpkg-source --after-build .
dpkg-buildpackage: info: binary-only upload (no source included)
dpkg-genchanges: info: including full source code in upload
I: copying local configuration
I: unmounting dev/ptmx filesystem
I: unmounting dev/pts filesystem
I: unmounting dev/shm filesystem
I: unmounting proc filesystem
I: unmounting sys filesystem
I: cleaning the build env 
I: removing directory /srv/workspace/pbuilder/3176 and its subdirectories
I: Current time: Sun May 26 11:40:13 -12 2024
I: pbuilder-time-stamp: 1716766813