Mon Mar 31 05:05:11 UTC 2025  I: starting to build pdm/unstable/amd64 on jenkins on '2025-03-31 05:05'
Mon Mar 31 05:05:11 UTC 2025  I: The jenkins build log is/was available at https://jenkins.debian.net/userContent/reproducible/debian/build_service/amd64_28/52509/console.log
Mon Mar 31 05:05:11 UTC 2025  I: Downloading source for unstable/pdm=2.20.1+ds1-2
--2025-03-31 05:05:11--  http://deb.debian.org/debian/pool/main/p/pdm/pdm_2.20.1%2bds1-2.dsc
Connecting to 46.16.76.132:3128... connected.
Proxy request sent, awaiting response... 200 OK
Length: 2772 (2.7K) [text/prs.lines.tag]
Saving to: ‘pdm_2.20.1+ds1-2.dsc’

     0K ..                                                    100%  387M=0s

2025-03-31 05:05:11 (387 MB/s) - ‘pdm_2.20.1+ds1-2.dsc’ saved [2772/2772]

Mon Mar 31 05:05:11 UTC 2025  I: pdm_2.20.1+ds1-2.dsc
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 3.0 (quilt)
Source: pdm
Binary: python3-pdm
Architecture: all
Version: 2.20.1+ds1-2
Maintainer: Debian Python Team <team+python@tracker.debian.org>
Uploaders:  Boyuan Yang <byang@debian.org>,
Homepage: https://github.com/pdm-project/pdm
Standards-Version: 4.7.0
Vcs-Browser: https://salsa.debian.org/python-team/packages/pdm
Vcs-Git: https://salsa.debian.org/python-team/packages/pdm.git
Build-Depends: debhelper-compat (= 13), dh-sequence-python3, pybuild-plugin-pyproject, python3, python3-blinker, python3-cachecontrol, python3-certifi (>> 2022.6.15), python3-dep-logic, python3-django <!nocheck>, python3-dotenv, python3-filelock, python3-findpython, python3-first <!nocheck>, python3-hishel, python3-httpx, python3-installer, python3-ipython <!nocheck>, python3-msgpack, python3-packaging, python3-pbs-installer, python3-pdm-backend, python3-pip, python3-platformdirs, python3-pyproject-hooks, python3-pytest <!nocheck>, python3-pytest-cov <!nocheck>, python3-pytest-httpserver <!nocheck>, python3-pytest-mock <!nocheck>, python3-pytest-xdist <!nocheck>, python3-pytest-rerunfailures <!nocheck>, python3-requests-toolbelt, python3-resolvelib (>= 1.1), python3-rich, python3-shellingham, python3-truststore, python3-tomli, python3-tomlkit, python3-unearth (>= 0.9), python3-virtualenv
Package-List:
 python3-pdm deb python optional arch=all
Checksums-Sha1:
 1fc8bd2b2bd21bcd7836c461b66dce8bdd85cc2b 462232 pdm_2.20.1+ds1.orig.tar.xz
 bde23d6be875dd6b41795b3d5599ff7dfd056376 3568 pdm_2.20.1+ds1-2.debian.tar.xz
Checksums-Sha256:
 28e84530fdc91f9a338bfca202c55936ec231f10749972b04c098cb12b2bfceb 462232 pdm_2.20.1+ds1.orig.tar.xz
 b70ec177b480c0e4e7cccc4921eed682cfc360057e28eae63f2bd15b6010eb1a 3568 pdm_2.20.1+ds1-2.debian.tar.xz
Files:
 6f8ff63f7c200e8c58e4a9acb8eeba5a 462232 pdm_2.20.1+ds1.orig.tar.xz
 04153057802df975d6e76bbcca82fd81 3568 pdm_2.20.1+ds1-2.debian.tar.xz


-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEfncpR22H1vEdkazLwpPntGGCWs4FAmfDrgsACgkQwpPntGGC
Ws7FuA/+NI4DzJjQ02lG2VKu/Y6I+7iWwLoUJAU6jt685kHVnjtWKIjWvwxaKyFA
SC0qhqiKwRLFMK3Zpm3IRJy6cXrkYaX0ZjnGMBHL/E9thokTAHywT5JQxPg2trmT
U5zpYzLPViDdRGFc5YUoDDmLzXW0gfxHMAzyo0J8b/fL1CeS0weylbPiOgFmJDnq
rAybj2BtBdK2OI8ZUTDiNLwHlnASHWRI0xv7FMFwgIuf6xj9arOb2H3+62/MW54/
5/dg7r1OGaYE3+JJ3GHXRR+A39vSRydAaBuEkT8EwQgEoO94Fb+ikI61OV4BlhSX
nQiueHOjiHQBeKhQIH2NF/6iixB4cdZAamSSIuhGC+ai7xYc0Q9HcmAkgjANLRvf
lNkwVpIGlaNvVUrU0iiheSRkO41iNYEIPObjrhFda7gNGZJFZMgCuATJALzK7PsM
TSbtHV+cY4Zm2+b73xjWPOZJ6YQkcCLx2eNpMcNZQ0CHgH2ciVPtTs+ANlxqQxuP
565AGrNYWl7+FM7YUXc6xui0gJkTSjjHL9HicUd8eS3IO6eBTQq+PwouZHSBTB29
N5+aikH5Ur9gzkY+p/7gWPldIkwTvQsUydckWsVs9LHA69BOYcs2RC+ZHwey67Ua
qLoPZKwDrYnj6MaNDhKFEJ2wWK/x51ISHOUOPgzd+1fAyksH7Do=
=p/5w
-----END PGP SIGNATURE-----
Mon Mar 31 05:05:11 UTC 2025  I: Checking whether the package is not for us
Mon Mar 31 05:05:11 UTC 2025  I: Starting 1st build on remote node ionos15-amd64.debian.net.
Mon Mar 31 05:05:11 UTC 2025  I: Preparing to do remote build '1' on ionos15-amd64.debian.net.
Mon Mar 31 05:10:40 UTC 2025  I: Deleting $TMPDIR on ionos15-amd64.debian.net.
I: pbuilder: network access will be disabled during build
I: Current time: Sat May  2 23:28:12 -12 2026
I: pbuilder-time-stamp: 1777807692
I: Building the build Environment
I: extracting base tarball [/var/cache/pbuilder/unstable-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: Copying source file
I: copying [pdm_2.20.1+ds1-2.dsc]
I: copying [./pdm_2.20.1+ds1.orig.tar.xz]
I: copying [./pdm_2.20.1+ds1-2.debian.tar.xz]
I: Extracting source
dpkg-source: warning: cannot verify inline signature for ./pdm_2.20.1+ds1-2.dsc: unsupported subcommand
dpkg-source: info: extracting pdm in pdm-2.20.1+ds1
dpkg-source: info: unpacking pdm_2.20.1+ds1.orig.tar.xz
dpkg-source: info: unpacking pdm_2.20.1+ds1-2.debian.tar.xz
dpkg-source: info: using patch list from debian/patches/series
dpkg-source: info: applying 0002-hardcode-versions.patch
I: Not using root during the build.
I: Installing the build-deps
I: user script /srv/workspace/pbuilder/4129116/tmp/hooks/D02_print_environment starting
I: set
  BUILDDIR='/build/reproducible-path'
  BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other'
  BUILDUSERNAME='pbuilder1'
  BUILD_ARCH='amd64'
  DEBIAN_FRONTEND='noninteractive'
  DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=42 '
  DISTRIBUTION='unstable'
  HOME='/root'
  HOST_ARCH='amd64'
  IFS=' 	
  '
  INVOCATION_ID='c4d04ab468ea4ac5a0810be1b9de2e23'
  LANG='C'
  LANGUAGE='en_US:en'
  LC_ALL='C'
  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='4129116'
  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.af2sWizH/pbuilderrc_8vSl --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.af2sWizH/b1 --logfile b1/build.log pdm_2.20.1+ds1-2.dsc'
  SUDO_GID='111'
  SUDO_UID='106'
  SUDO_USER='jenkins'
  TERM='unknown'
  TZ='/usr/share/zoneinfo/Etc/GMT+12'
  USER='root'
  _='/usr/bin/systemd-run'
  http_proxy='http://213.165.73.152:3128'
I: uname -a
  Linux ionos15-amd64 6.12.12+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.12-1~bpo12+1 (2025-02-23) x86_64 GNU/Linux
I: ls -l /bin
  lrwxrwxrwx 1 root root 7 Mar  4  2025 /bin -> usr/bin
I: user script /srv/workspace/pbuilder/4129116/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: amd64
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-dep-logic, python3-django, python3-dotenv, python3-filelock, python3-findpython, python3-first, python3-hishel, python3-httpx, python3-installer, python3-ipython, python3-msgpack, python3-packaging, python3-pbs-installer, python3-pdm-backend, python3-pip, python3-platformdirs, python3-pyproject-hooks, python3-pytest, python3-pytest-cov, python3-pytest-httpserver, python3-pytest-mock, python3-pytest-xdist, python3-pytest-rerunfailures, python3-requests-toolbelt, python3-resolvelib (>= 1.1), python3-rich, python3-shellingham, python3-truststore, python3-tomli, python3-tomlkit, python3-unearth (>= 0.9), 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 ... 19804 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-dep-logic; however:
  Package python3-dep-logic 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-filelock; however:
  Package python3-filelock 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-hishel; however:
  Package python3-hishel is not installed.
 pbuilder-satisfydepends-dummy depends on python3-httpx; however:
  Package python3-httpx 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-msgpack; however:
  Package python3-msgpack is not installed.
 pbuilder-satisfydepends-dummy depends on python3-packaging; however:
  Package python3-packaging is not installed.
 pbuilder-satisfydepends-dummy depends on python3-pbs-installer; however:
  Package python3-pbs-installer is not installed.
 pbuilder-satisfydepends-dummy depends on python3-pdm-backend; however:
  Package python3-pdm-backend 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-pyproject-hooks; however:
  Package python3-pyproject-hooks 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-httpserver; however:
  Package python3-pytest-httpserver 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 (>= 1.1); 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-truststore; however:
  Package python3-truststore 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.9); 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} libelf1t64{a} libexpat1{a} libffi8{a} libfile-stripnondeterminism-perl{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} libmagic1t64{a} libpipeline1{a} libpython3-stdlib{a} libpython3.13-minimal{a} libpython3.13-stdlib{a} libreadline8t64{a} libtool{a} libuchardet0{a} libunistring5{a} libxml2{a} m4{a} man-db{a} media-types{a} netbase{a} openssl{a} po-debconf{a} pybuild-plugin-pyproject{a} python3{a} python3-anyio{a} python3-asgiref{a} python3-asttokens{a} python3-autocommand{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-click{a} python3-coverage{a} python3-decorator{a} python3-dep-logic{a} python3-distlib{a} python3-django{a} python3-dotenv{a} python3-editables{a} python3-execnet{a} python3-executing{a} python3-fastjsonschema{a} python3-filelock{a} python3-findpython{a} python3-first{a} python3-h11{a} python3-hishel{a} python3-httpcore{a} python3-httpx{a} python3-idna{a} python3-inflect{a} python3-iniconfig{a} python3-installer{a} python3-ipython{a} python3-jaraco.context{a} python3-jaraco.functools{a} python3-jaraco.text{a} python3-jedi{a} python3-license-expression{a} python3-markdown-it{a} python3-markupsafe{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-pbs-installer{a} python3-pdm-backend{a} python3-pexpect{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-pygments{a} python3-pyparsing{a} python3-pyproject-hooks{a} python3-pyproject-metadata{a} python3-pytest{a} python3-pytest-cov{a} python3-pytest-httpserver{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-sniffio{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-truststore{a} python3-typeguard{a} python3-typeshed{a} python3-typing-extensions{a} python3-unearth{a} python3-urllib3{a} python3-validate-pyproject{a} python3-virtualenv{a} python3-wcwidth{a} python3-werkzeug{a} python3-wheel{a} python3-wheel-whl{a} python3-zipp{a} python3.13{a} python3.13-minimal{a} readline-common{a} sensible-utils{a} tzdata{a} 
The following packages are RECOMMENDED but will NOT be installed:
  curl javascript-common libarchive-cpio-perl libjs-sphinxdoc libltdl-dev libmail-sendmail-perl lynx python3-dev python3-matplotlib python3-openssl python3-pyinotify python3-tz python3-zstandard wget 
0 packages upgraded, 150 newly installed, 0 to remove and 0 not upgraded.
Need to get 36.0 MB of archives. After unpacking 168 MB will be used.
Writing extended state information...
Get: 1 http://deb.debian.org/debian unstable/main amd64 libpython3.13-minimal amd64 3.13.2-3 [861 kB]
Get: 2 http://deb.debian.org/debian unstable/main amd64 libexpat1 amd64 2.7.1-1 [108 kB]
Get: 3 http://deb.debian.org/debian unstable/main amd64 python3.13-minimal amd64 3.13.2-3 [2212 kB]
Get: 4 http://deb.debian.org/debian unstable/main amd64 python3-minimal amd64 3.13.2-2 [27.1 kB]
Get: 5 http://deb.debian.org/debian unstable/main amd64 media-types all 13.0.0 [29.3 kB]
Get: 6 http://deb.debian.org/debian unstable/main amd64 netbase all 6.5 [12.4 kB]
Get: 7 http://deb.debian.org/debian unstable/main amd64 tzdata all 2025b-1 [259 kB]
Get: 8 http://deb.debian.org/debian unstable/main amd64 libffi8 amd64 3.4.7-1 [23.9 kB]
Get: 9 http://deb.debian.org/debian unstable/main amd64 readline-common all 8.2-6 [69.4 kB]
Get: 10 http://deb.debian.org/debian unstable/main amd64 libreadline8t64 amd64 8.2-6 [169 kB]
Get: 11 http://deb.debian.org/debian unstable/main amd64 libpython3.13-stdlib amd64 3.13.2-3 [1952 kB]
Get: 12 http://deb.debian.org/debian unstable/main amd64 python3.13 amd64 3.13.2-3 [746 kB]
Get: 13 http://deb.debian.org/debian unstable/main amd64 libpython3-stdlib amd64 3.13.2-2 [10.1 kB]
Get: 14 http://deb.debian.org/debian unstable/main amd64 python3 amd64 3.13.2-2 [28.1 kB]
Get: 15 http://deb.debian.org/debian unstable/main amd64 sensible-utils all 0.0.24 [24.8 kB]
Get: 16 http://deb.debian.org/debian unstable/main amd64 openssl amd64 3.4.1-1 [1427 kB]
Get: 17 http://deb.debian.org/debian unstable/main amd64 ca-certificates all 20241223 [164 kB]
Get: 18 http://deb.debian.org/debian unstable/main amd64 libmagic-mgc amd64 1:5.46-4 [337 kB]
Get: 19 http://deb.debian.org/debian unstable/main amd64 libmagic1t64 amd64 1:5.46-4 [109 kB]
Get: 20 http://deb.debian.org/debian unstable/main amd64 file amd64 1:5.46-4 [43.5 kB]
Get: 21 http://deb.debian.org/debian unstable/main amd64 gettext-base amd64 0.23.1-1 [243 kB]
Get: 22 http://deb.debian.org/debian unstable/main amd64 libuchardet0 amd64 0.0.8-1+b2 [68.9 kB]
Get: 23 http://deb.debian.org/debian unstable/main amd64 groff-base amd64 1.23.0-7 [1185 kB]
Get: 24 http://deb.debian.org/debian unstable/main amd64 bsdextrautils amd64 2.40.4-5 [92.4 kB]
Get: 25 http://deb.debian.org/debian unstable/main amd64 libpipeline1 amd64 1.5.8-1 [42.0 kB]
Get: 26 http://deb.debian.org/debian unstable/main amd64 man-db amd64 2.13.0-1 [1420 kB]
Get: 27 http://deb.debian.org/debian unstable/main amd64 m4 amd64 1.4.19-7 [294 kB]
Get: 28 http://deb.debian.org/debian unstable/main amd64 autoconf all 2.72-3 [493 kB]
Get: 29 http://deb.debian.org/debian unstable/main amd64 autotools-dev all 20240727.1 [60.2 kB]
Get: 30 http://deb.debian.org/debian unstable/main amd64 automake all 1:1.17-4 [862 kB]
Get: 31 http://deb.debian.org/debian unstable/main amd64 autopoint all 0.23.1-1 [770 kB]
Get: 32 http://deb.debian.org/debian unstable/main amd64 libdebhelper-perl all 13.24.2 [90.9 kB]
Get: 33 http://deb.debian.org/debian unstable/main amd64 libtool all 2.5.4-4 [539 kB]
Get: 34 http://deb.debian.org/debian unstable/main amd64 dh-autoreconf all 20 [17.1 kB]
Get: 35 http://deb.debian.org/debian unstable/main amd64 libarchive-zip-perl all 1.68-1 [104 kB]
Get: 36 http://deb.debian.org/debian unstable/main amd64 libfile-stripnondeterminism-perl all 1.14.1-2 [19.7 kB]
Get: 37 http://deb.debian.org/debian unstable/main amd64 dh-strip-nondeterminism all 1.14.1-2 [8620 B]
Get: 38 http://deb.debian.org/debian unstable/main amd64 libelf1t64 amd64 0.192-4 [189 kB]
Get: 39 http://deb.debian.org/debian unstable/main amd64 dwz amd64 0.15-1+b1 [110 kB]
Get: 40 http://deb.debian.org/debian unstable/main amd64 libunistring5 amd64 1.3-2 [477 kB]
Get: 41 http://deb.debian.org/debian unstable/main amd64 libxml2 amd64 2.12.7+dfsg+really2.9.14-0.4 [698 kB]
Get: 42 http://deb.debian.org/debian unstable/main amd64 gettext amd64 0.23.1-1 [1680 kB]
Get: 43 http://deb.debian.org/debian unstable/main amd64 intltool-debian all 0.35.0+20060710.6 [22.9 kB]
Get: 44 http://deb.debian.org/debian unstable/main amd64 po-debconf all 1.0.21+nmu1 [248 kB]
Get: 45 http://deb.debian.org/debian unstable/main amd64 debhelper all 13.24.2 [919 kB]
Get: 46 http://deb.debian.org/debian unstable/main amd64 dh-python all 6.20250308 [115 kB]
Get: 47 http://deb.debian.org/debian unstable/main amd64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [326 kB]
Get: 48 http://deb.debian.org/debian unstable/main amd64 libjs-jquery-hotkeys all 0.2.0-1 [12.6 kB]
Get: 49 http://deb.debian.org/debian unstable/main amd64 libjs-jquery-isonscreen all 1.2.0-1.1 [3196 B]
Get: 50 http://deb.debian.org/debian unstable/main amd64 libjs-jquery-metadata all 12-4 [6532 B]
Get: 51 http://deb.debian.org/debian unstable/main amd64 libjs-jquery-tablesorter all 1:2.31.3+dfsg1-4 [184 kB]
Get: 52 http://deb.debian.org/debian unstable/main amd64 libjs-jquery-throttle-debounce all 1.1+dfsg.1-2 [12.2 kB]
Get: 53 http://deb.debian.org/debian unstable/main amd64 python3-packaging all 24.2-1 [55.3 kB]
Get: 54 http://deb.debian.org/debian unstable/main amd64 python3-pyproject-hooks all 1.2.0-1 [11.7 kB]
Get: 55 http://deb.debian.org/debian unstable/main amd64 python3-tomli amd64 2.2.1-2+b1 [122 kB]
Get: 56 http://deb.debian.org/debian unstable/main amd64 python3-toml all 0.10.2-1 [16.2 kB]
Get: 57 http://deb.debian.org/debian unstable/main amd64 python3-wheel all 0.45.1-1 [56.7 kB]
Get: 58 http://deb.debian.org/debian unstable/main amd64 python3-build all 1.2.2-1 [36.0 kB]
Get: 59 http://deb.debian.org/debian unstable/main amd64 python3-installer all 0.7.0+dfsg1-3 [18.6 kB]
Get: 60 http://deb.debian.org/debian unstable/main amd64 pybuild-plugin-pyproject all 6.20250308 [11.7 kB]
Get: 61 http://deb.debian.org/debian unstable/main amd64 python3-idna all 3.10-1 [42.0 kB]
Get: 62 http://deb.debian.org/debian unstable/main amd64 python3-sniffio all 1.3.1-1 [7120 B]
Get: 63 http://deb.debian.org/debian unstable/main amd64 python3-typing-extensions all 4.13.0-1 [90.1 kB]
Get: 64 http://deb.debian.org/debian unstable/main amd64 python3-anyio all 4.8.0-3 [63.6 kB]
Get: 65 http://deb.debian.org/debian unstable/main amd64 python3-asgiref all 3.8.1-1 [28.8 kB]
Get: 66 http://deb.debian.org/debian unstable/main amd64 python3-asttokens all 3.0.0-1 [20.1 kB]
Get: 67 http://deb.debian.org/debian unstable/main amd64 python3-autocommand all 2.2.2-3 [13.6 kB]
Get: 68 http://deb.debian.org/debian unstable/main amd64 python3-blinker all 1.9.0-1 [12.6 kB]
Get: 69 http://deb.debian.org/debian unstable/main amd64 python3-boolean all 4.0-4 [22.6 kB]
Get: 70 http://deb.debian.org/debian unstable/main amd64 python3-certifi all 2025.1.31+ds-1 [9652 B]
Get: 71 http://deb.debian.org/debian unstable/main amd64 python3-charset-normalizer amd64 3.4.1-1+b1 [125 kB]
Get: 72 http://deb.debian.org/debian unstable/main amd64 python3-urllib3 all 2.3.0-2 [114 kB]
Get: 73 http://deb.debian.org/debian unstable/main amd64 python3-chardet all 5.2.0+dfsg-2 [108 kB]
Get: 74 http://deb.debian.org/debian unstable/main amd64 python3-requests all 2.32.3+dfsg-5 [72.2 kB]
Get: 75 http://deb.debian.org/debian unstable/main amd64 python3-msgpack amd64 1.0.3-3+b4 [84.5 kB]
Get: 76 http://deb.debian.org/debian unstable/main amd64 python3-cachecontrol all 0.14.2-1 [18.3 kB]
Get: 77 http://deb.debian.org/debian unstable/main amd64 python3-cerberus all 1.3.7-1 [34.3 kB]
Get: 78 http://deb.debian.org/debian unstable/main amd64 python3-click all 8.2.0+0.really.8.1.8-1 [95.4 kB]
Get: 79 http://deb.debian.org/debian unstable/main amd64 python3-coverage amd64 7.6.0+dfsg1-2+b2 [175 kB]
Get: 80 http://deb.debian.org/debian unstable/main amd64 python3-decorator all 5.1.1-5 [15.1 kB]
Get: 81 http://deb.debian.org/debian unstable/main amd64 python3-dep-logic all 0.4.10-1 [20.9 kB]
Get: 82 http://deb.debian.org/debian unstable/main amd64 python3-distlib all 0.3.9-1 [257 kB]
Get: 83 http://deb.debian.org/debian unstable/main amd64 python3-sqlparse all 0.5.3-1 [39.8 kB]
Get: 84 http://deb.debian.org/debian unstable/main amd64 python3-django all 3:4.2.20-1 [2739 kB]
Get: 85 http://deb.debian.org/debian unstable/main amd64 python3-dotenv all 1.0.1-1 [26.6 kB]
Get: 86 http://deb.debian.org/debian unstable/main amd64 python3-editables all 0.5-2 [14.5 kB]
Get: 87 http://deb.debian.org/debian unstable/main amd64 python3-execnet all 2.1.1-1 [40.2 kB]
Get: 88 http://deb.debian.org/debian unstable/main amd64 python3-executing all 2.2.0-0.1 [24.5 kB]
Get: 89 http://deb.debian.org/debian unstable/main amd64 python3-fastjsonschema all 2.21.1-1 [22.4 kB]
Get: 90 http://deb.debian.org/debian unstable/main amd64 python3-filelock all 3.18.0-1 [12.8 kB]
Get: 91 http://deb.debian.org/debian unstable/main amd64 python3-findpython all 0.6.2-1 [15.0 kB]
Get: 92 http://deb.debian.org/debian unstable/main amd64 python3-first all 2.0.2-4 [9300 B]
Get: 93 http://deb.debian.org/debian unstable/main amd64 python3-h11 all 0.14.0-1 [50.1 kB]
Get: 94 http://deb.debian.org/debian unstable/main amd64 python3-pygments all 2.18.0+dfsg-2 [836 kB]
Get: 95 http://deb.debian.org/debian unstable/main amd64 python3-mdurl all 0.1.2-1 [9444 B]
Get: 96 http://deb.debian.org/debian unstable/main amd64 python3-markdown-it all 3.0.0-2 [62.5 kB]
Get: 97 http://deb.debian.org/debian unstable/main amd64 python3-rich all 13.9.4-1 [203 kB]
Get: 98 http://deb.debian.org/debian unstable/main amd64 python3-httpcore all 1.0.7-1 [44.7 kB]
Get: 99 http://deb.debian.org/debian unstable/main amd64 python3-httpx all 0.28.1-1 [76.2 kB]
Get: 100 http://deb.debian.org/debian unstable/main amd64 python3-hishel all 0.1.1-1 [27.2 kB]
Get: 101 http://deb.debian.org/debian unstable/main amd64 python3-more-itertools all 10.6.0-1 [65.3 kB]
Get: 102 http://deb.debian.org/debian unstable/main amd64 python3-typeguard all 4.4.2-1 [37.3 kB]
Get: 103 http://deb.debian.org/debian unstable/main amd64 python3-inflect all 7.3.1-2 [32.4 kB]
Get: 104 http://deb.debian.org/debian unstable/main amd64 python3-iniconfig all 1.1.1-2 [6396 B]
Get: 105 http://deb.debian.org/debian unstable/main amd64 python3-parso all 0.8.4-1 [67.8 kB]
Get: 106 http://deb.debian.org/debian unstable/main amd64 python3-typeshed all 0.0~git20241223.ea91db2-1 [1530 kB]
Get: 107 http://deb.debian.org/debian unstable/main amd64 python3-jedi all 0.19.1+ds1-1 [691 kB]
Get: 108 http://deb.debian.org/debian unstable/main amd64 python3-traitlets all 5.14.3+really5.14.3-1 [70.9 kB]
Get: 109 http://deb.debian.org/debian unstable/main amd64 python3-matplotlib-inline all 0.1.7-1 [9032 B]
Get: 110 http://deb.debian.org/debian unstable/main amd64 python3-wcwidth all 0.2.13+dfsg1-1 [24.9 kB]
Get: 111 http://deb.debian.org/debian unstable/main amd64 python3-prompt-toolkit all 3.0.50-1 [278 kB]
Get: 112 http://deb.debian.org/debian unstable/main amd64 python3-pure-eval all 0.2.3-1 [11.2 kB]
Get: 113 http://deb.debian.org/debian unstable/main amd64 python3-stack-data all 0.6.3-1 [21.6 kB]
Get: 114 http://deb.debian.org/debian unstable/main amd64 python3-ptyprocess all 0.7.0-6 [14.5 kB]
Get: 115 http://deb.debian.org/debian unstable/main amd64 python3-pexpect all 4.9-3 [55.6 kB]
Get: 116 http://deb.debian.org/debian unstable/main amd64 python3-jaraco.context all 6.0.1-1 [8276 B]
Get: 117 http://deb.debian.org/debian unstable/main amd64 python3-jaraco.functools all 4.1.0-1 [12.0 kB]
Get: 118 http://deb.debian.org/debian unstable/main amd64 python3-pkg-resources all 75.8.0-1 [222 kB]
Get: 119 http://deb.debian.org/debian unstable/main amd64 python3-jaraco.text all 4.0.0-1 [11.4 kB]
Get: 120 http://deb.debian.org/debian unstable/main amd64 python3-zipp all 3.21.0-1 [10.6 kB]
Get: 121 http://deb.debian.org/debian unstable/main amd64 python3-setuptools all 75.8.0-1 [724 kB]
Get: 122 http://deb.debian.org/debian unstable/main amd64 python3-ipython all 8.30.0-2 [568 kB]
Get: 123 http://deb.debian.org/debian unstable/main amd64 python3-license-expression all 30.4.1-1 [96.9 kB]
Get: 124 http://deb.debian.org/debian unstable/main amd64 python3-markupsafe amd64 2.1.5-1+b3 [14.0 kB]
Get: 125 http://deb.debian.org/debian unstable/main amd64 python3-pbs-installer all 2025.03.11-1 [44.8 kB]
Get: 126 http://deb.debian.org/debian unstable/main amd64 python3-pyproject-metadata all 0.9.1-1 [21.5 kB]
Get: 127 http://deb.debian.org/debian unstable/main amd64 python3-pyparsing all 3.1.2-1 [146 kB]
Get: 128 http://deb.debian.org/debian unstable/main amd64 python3-tomli-w all 1.0.0-3 [8000 B]
Get: 129 http://deb.debian.org/debian unstable/main amd64 python3-validate-pyproject all 0.24-1 [39.0 kB]
Get: 130 http://deb.debian.org/debian unstable/main amd64 python3-pdm-backend all 2.4.3+ds1-1 [34.6 kB]
Get: 131 http://deb.debian.org/debian unstable/main amd64 python3-pip all 25.0.1+dfsg-1 [1455 kB]
Get: 132 http://deb.debian.org/debian unstable/main amd64 python3-pip-whl all 25.0.1+dfsg-1 [1522 kB]
Get: 133 http://deb.debian.org/debian unstable/main amd64 python3-platformdirs all 4.3.7-1 [16.6 kB]
Get: 134 http://deb.debian.org/debian unstable/main amd64 python3-pluggy all 1.5.0-1 [26.9 kB]
Get: 135 http://deb.debian.org/debian unstable/main amd64 python3-pytest all 8.3.5-1 [250 kB]
Get: 136 http://deb.debian.org/debian unstable/main amd64 python3-pytest-cov all 5.0.0-1 [26.8 kB]
Get: 137 http://deb.debian.org/debian unstable/main amd64 python3-werkzeug all 3.1.3-2 [207 kB]
Get: 138 http://deb.debian.org/debian unstable/main amd64 python3-pytest-httpserver all 1.1.2-1 [23.3 kB]
Get: 139 http://deb.debian.org/debian unstable/main amd64 python3-pytest-mock all 3.14.0-2 [18.3 kB]
Get: 140 http://deb.debian.org/debian unstable/main amd64 python3-pytest-rerunfailures all 15.0-1 [16.8 kB]
Get: 141 http://deb.debian.org/debian unstable/main amd64 python3-pytest-xdist all 3.6.1-1 [44.4 kB]
Get: 142 http://deb.debian.org/debian unstable/main amd64 python3-requests-toolbelt all 1.0.0-4 [40.3 kB]
Get: 143 http://deb.debian.org/debian unstable/main amd64 python3-resolvelib all 1.1.0-1 [28.9 kB]
Get: 144 http://deb.debian.org/debian unstable/main amd64 python3-setuptools-whl all 75.8.0-1 [1244 kB]
Get: 145 http://deb.debian.org/debian unstable/main amd64 python3-shellingham all 1.5.4-1 [11.0 kB]
Get: 146 http://deb.debian.org/debian unstable/main amd64 python3-tomlkit all 0.13.2-1 [42.7 kB]
Get: 147 http://deb.debian.org/debian unstable/main amd64 python3-truststore all 0.10.1-1 [16.9 kB]
Get: 148 http://deb.debian.org/debian unstable/main amd64 python3-unearth all 0.17.3-1 [35.5 kB]
Get: 149 http://deb.debian.org/debian unstable/main amd64 python3-wheel-whl all 0.45.1-1 [75.3 kB]
Get: 150 http://deb.debian.org/debian unstable/main amd64 python3-virtualenv all 20.29.3+ds-1 [71.8 kB]
Fetched 36.0 MB in 7s (5370 kB/s)
Preconfiguring packages ...
Selecting previously unselected package libpython3.13-minimal:amd64.
(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 ... 19804 files and directories currently installed.)
Preparing to unpack .../libpython3.13-minimal_3.13.2-3_amd64.deb ...
Unpacking libpython3.13-minimal:amd64 (3.13.2-3) ...
Selecting previously unselected package libexpat1:amd64.
Preparing to unpack .../libexpat1_2.7.1-1_amd64.deb ...
Unpacking libexpat1:amd64 (2.7.1-1) ...
Selecting previously unselected package python3.13-minimal.
Preparing to unpack .../python3.13-minimal_3.13.2-3_amd64.deb ...
Unpacking python3.13-minimal (3.13.2-3) ...
Setting up libpython3.13-minimal:amd64 (3.13.2-3) ...
Setting up libexpat1:amd64 (2.7.1-1) ...
Setting up python3.13-minimal (3.13.2-3) ...
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 ... 20138 files and directories currently installed.)
Preparing to unpack .../0-python3-minimal_3.13.2-2_amd64.deb ...
Unpacking python3-minimal (3.13.2-2) ...
Selecting previously unselected package media-types.
Preparing to unpack .../1-media-types_13.0.0_all.deb ...
Unpacking media-types (13.0.0) ...
Selecting previously unselected package netbase.
Preparing to unpack .../2-netbase_6.5_all.deb ...
Unpacking netbase (6.5) ...
Selecting previously unselected package tzdata.
Preparing to unpack .../3-tzdata_2025b-1_all.deb ...
Unpacking tzdata (2025b-1) ...
Selecting previously unselected package libffi8:amd64.
Preparing to unpack .../4-libffi8_3.4.7-1_amd64.deb ...
Unpacking libffi8:amd64 (3.4.7-1) ...
Selecting previously unselected package readline-common.
Preparing to unpack .../5-readline-common_8.2-6_all.deb ...
Unpacking readline-common (8.2-6) ...
Selecting previously unselected package libreadline8t64:amd64.
Preparing to unpack .../6-libreadline8t64_8.2-6_amd64.deb ...
Adding 'diversion of /lib/x86_64-linux-gnu/libhistory.so.8 to /lib/x86_64-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64'
Adding 'diversion of /lib/x86_64-linux-gnu/libhistory.so.8.2 to /lib/x86_64-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64'
Adding 'diversion of /lib/x86_64-linux-gnu/libreadline.so.8 to /lib/x86_64-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64'
Adding 'diversion of /lib/x86_64-linux-gnu/libreadline.so.8.2 to /lib/x86_64-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64'
Unpacking libreadline8t64:amd64 (8.2-6) ...
Selecting previously unselected package libpython3.13-stdlib:amd64.
Preparing to unpack .../7-libpython3.13-stdlib_3.13.2-3_amd64.deb ...
Unpacking libpython3.13-stdlib:amd64 (3.13.2-3) ...
Selecting previously unselected package python3.13.
Preparing to unpack .../8-python3.13_3.13.2-3_amd64.deb ...
Unpacking python3.13 (3.13.2-3) ...
Selecting previously unselected package libpython3-stdlib:amd64.
Preparing to unpack .../9-libpython3-stdlib_3.13.2-2_amd64.deb ...
Unpacking libpython3-stdlib:amd64 (3.13.2-2) ...
Setting up python3-minimal (3.13.2-2) ...
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 ... 21149 files and directories currently installed.)
Preparing to unpack .../000-python3_3.13.2-2_amd64.deb ...
Unpacking python3 (3.13.2-2) ...
Selecting previously unselected package sensible-utils.
Preparing to unpack .../001-sensible-utils_0.0.24_all.deb ...
Unpacking sensible-utils (0.0.24) ...
Selecting previously unselected package openssl.
Preparing to unpack .../002-openssl_3.4.1-1_amd64.deb ...
Unpacking openssl (3.4.1-1) ...
Selecting previously unselected package ca-certificates.
Preparing to unpack .../003-ca-certificates_20241223_all.deb ...
Unpacking ca-certificates (20241223) ...
Selecting previously unselected package libmagic-mgc.
Preparing to unpack .../004-libmagic-mgc_1%3a5.46-4_amd64.deb ...
Unpacking libmagic-mgc (1:5.46-4) ...
Selecting previously unselected package libmagic1t64:amd64.
Preparing to unpack .../005-libmagic1t64_1%3a5.46-4_amd64.deb ...
Unpacking libmagic1t64:amd64 (1:5.46-4) ...
Selecting previously unselected package file.
Preparing to unpack .../006-file_1%3a5.46-4_amd64.deb ...
Unpacking file (1:5.46-4) ...
Selecting previously unselected package gettext-base.
Preparing to unpack .../007-gettext-base_0.23.1-1_amd64.deb ...
Unpacking gettext-base (0.23.1-1) ...
Selecting previously unselected package libuchardet0:amd64.
Preparing to unpack .../008-libuchardet0_0.0.8-1+b2_amd64.deb ...
Unpacking libuchardet0:amd64 (0.0.8-1+b2) ...
Selecting previously unselected package groff-base.
Preparing to unpack .../009-groff-base_1.23.0-7_amd64.deb ...
Unpacking groff-base (1.23.0-7) ...
Selecting previously unselected package bsdextrautils.
Preparing to unpack .../010-bsdextrautils_2.40.4-5_amd64.deb ...
Unpacking bsdextrautils (2.40.4-5) ...
Selecting previously unselected package libpipeline1:amd64.
Preparing to unpack .../011-libpipeline1_1.5.8-1_amd64.deb ...
Unpacking libpipeline1:amd64 (1.5.8-1) ...
Selecting previously unselected package man-db.
Preparing to unpack .../012-man-db_2.13.0-1_amd64.deb ...
Unpacking man-db (2.13.0-1) ...
Selecting previously unselected package m4.
Preparing to unpack .../013-m4_1.4.19-7_amd64.deb ...
Unpacking m4 (1.4.19-7) ...
Selecting previously unselected package autoconf.
Preparing to unpack .../014-autoconf_2.72-3_all.deb ...
Unpacking autoconf (2.72-3) ...
Selecting previously unselected package autotools-dev.
Preparing to unpack .../015-autotools-dev_20240727.1_all.deb ...
Unpacking autotools-dev (20240727.1) ...
Selecting previously unselected package automake.
Preparing to unpack .../016-automake_1%3a1.17-4_all.deb ...
Unpacking automake (1:1.17-4) ...
Selecting previously unselected package autopoint.
Preparing to unpack .../017-autopoint_0.23.1-1_all.deb ...
Unpacking autopoint (0.23.1-1) ...
Selecting previously unselected package libdebhelper-perl.
Preparing to unpack .../018-libdebhelper-perl_13.24.2_all.deb ...
Unpacking libdebhelper-perl (13.24.2) ...
Selecting previously unselected package libtool.
Preparing to unpack .../019-libtool_2.5.4-4_all.deb ...
Unpacking libtool (2.5.4-4) ...
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 libfile-stripnondeterminism-perl.
Preparing to unpack .../022-libfile-stripnondeterminism-perl_1.14.1-2_all.deb ...
Unpacking libfile-stripnondeterminism-perl (1.14.1-2) ...
Selecting previously unselected package dh-strip-nondeterminism.
Preparing to unpack .../023-dh-strip-nondeterminism_1.14.1-2_all.deb ...
Unpacking dh-strip-nondeterminism (1.14.1-2) ...
Selecting previously unselected package libelf1t64:amd64.
Preparing to unpack .../024-libelf1t64_0.192-4_amd64.deb ...
Unpacking libelf1t64:amd64 (0.192-4) ...
Selecting previously unselected package dwz.
Preparing to unpack .../025-dwz_0.15-1+b1_amd64.deb ...
Unpacking dwz (0.15-1+b1) ...
Selecting previously unselected package libunistring5:amd64.
Preparing to unpack .../026-libunistring5_1.3-2_amd64.deb ...
Unpacking libunistring5:amd64 (1.3-2) ...
Selecting previously unselected package libxml2:amd64.
Preparing to unpack .../027-libxml2_2.12.7+dfsg+really2.9.14-0.4_amd64.deb ...
Unpacking libxml2:amd64 (2.12.7+dfsg+really2.9.14-0.4) ...
Selecting previously unselected package gettext.
Preparing to unpack .../028-gettext_0.23.1-1_amd64.deb ...
Unpacking gettext (0.23.1-1) ...
Selecting previously unselected package intltool-debian.
Preparing to unpack .../029-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 .../030-po-debconf_1.0.21+nmu1_all.deb ...
Unpacking po-debconf (1.0.21+nmu1) ...
Selecting previously unselected package debhelper.
Preparing to unpack .../031-debhelper_13.24.2_all.deb ...
Unpacking debhelper (13.24.2) ...
Selecting previously unselected package dh-python.
Preparing to unpack .../032-dh-python_6.20250308_all.deb ...
Unpacking dh-python (6.20250308) ...
Selecting previously unselected package libjs-jquery.
Preparing to unpack .../033-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 .../034-libjs-jquery-hotkeys_0.2.0-1_all.deb ...
Unpacking libjs-jquery-hotkeys (0.2.0-1) ...
Selecting previously unselected package libjs-jquery-isonscreen.
Preparing to unpack .../035-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 .../036-libjs-jquery-metadata_12-4_all.deb ...
Unpacking libjs-jquery-metadata (12-4) ...
Selecting previously unselected package libjs-jquery-tablesorter.
Preparing to unpack .../037-libjs-jquery-tablesorter_1%3a2.31.3+dfsg1-4_all.deb ...
Unpacking libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ...
Selecting previously unselected package libjs-jquery-throttle-debounce.
Preparing to unpack .../038-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-packaging.
Preparing to unpack .../039-python3-packaging_24.2-1_all.deb ...
Unpacking python3-packaging (24.2-1) ...
Selecting previously unselected package python3-pyproject-hooks.
Preparing to unpack .../040-python3-pyproject-hooks_1.2.0-1_all.deb ...
Unpacking python3-pyproject-hooks (1.2.0-1) ...
Selecting previously unselected package python3-tomli.
Preparing to unpack .../041-python3-tomli_2.2.1-2+b1_amd64.deb ...
Unpacking python3-tomli (2.2.1-2+b1) ...
Selecting previously unselected package python3-toml.
Preparing to unpack .../042-python3-toml_0.10.2-1_all.deb ...
Unpacking python3-toml (0.10.2-1) ...
Selecting previously unselected package python3-wheel.
Preparing to unpack .../043-python3-wheel_0.45.1-1_all.deb ...
Unpacking python3-wheel (0.45.1-1) ...
Selecting previously unselected package python3-build.
Preparing to unpack .../044-python3-build_1.2.2-1_all.deb ...
Unpacking python3-build (1.2.2-1) ...
Selecting previously unselected package python3-installer.
Preparing to unpack .../045-python3-installer_0.7.0+dfsg1-3_all.deb ...
Unpacking python3-installer (0.7.0+dfsg1-3) ...
Selecting previously unselected package pybuild-plugin-pyproject.
Preparing to unpack .../046-pybuild-plugin-pyproject_6.20250308_all.deb ...
Unpacking pybuild-plugin-pyproject (6.20250308) ...
Selecting previously unselected package python3-idna.
Preparing to unpack .../047-python3-idna_3.10-1_all.deb ...
Unpacking python3-idna (3.10-1) ...
Selecting previously unselected package python3-sniffio.
Preparing to unpack .../048-python3-sniffio_1.3.1-1_all.deb ...
Unpacking python3-sniffio (1.3.1-1) ...
Selecting previously unselected package python3-typing-extensions.
Preparing to unpack .../049-python3-typing-extensions_4.13.0-1_all.deb ...
Unpacking python3-typing-extensions (4.13.0-1) ...
Selecting previously unselected package python3-anyio.
Preparing to unpack .../050-python3-anyio_4.8.0-3_all.deb ...
Unpacking python3-anyio (4.8.0-3) ...
Selecting previously unselected package python3-asgiref.
Preparing to unpack .../051-python3-asgiref_3.8.1-1_all.deb ...
Unpacking python3-asgiref (3.8.1-1) ...
Selecting previously unselected package python3-asttokens.
Preparing to unpack .../052-python3-asttokens_3.0.0-1_all.deb ...
Unpacking python3-asttokens (3.0.0-1) ...
Selecting previously unselected package python3-autocommand.
Preparing to unpack .../053-python3-autocommand_2.2.2-3_all.deb ...
Unpacking python3-autocommand (2.2.2-3) ...
Selecting previously unselected package python3-blinker.
Preparing to unpack .../054-python3-blinker_1.9.0-1_all.deb ...
Unpacking python3-blinker (1.9.0-1) ...
Selecting previously unselected package python3-boolean.
Preparing to unpack .../055-python3-boolean_4.0-4_all.deb ...
Unpacking python3-boolean (4.0-4) ...
Selecting previously unselected package python3-certifi.
Preparing to unpack .../056-python3-certifi_2025.1.31+ds-1_all.deb ...
Unpacking python3-certifi (2025.1.31+ds-1) ...
Selecting previously unselected package python3-charset-normalizer.
Preparing to unpack .../057-python3-charset-normalizer_3.4.1-1+b1_amd64.deb ...
Unpacking python3-charset-normalizer (3.4.1-1+b1) ...
Selecting previously unselected package python3-urllib3.
Preparing to unpack .../058-python3-urllib3_2.3.0-2_all.deb ...
Unpacking python3-urllib3 (2.3.0-2) ...
Selecting previously unselected package python3-chardet.
Preparing to unpack .../059-python3-chardet_5.2.0+dfsg-2_all.deb ...
Unpacking python3-chardet (5.2.0+dfsg-2) ...
Selecting previously unselected package python3-requests.
Preparing to unpack .../060-python3-requests_2.32.3+dfsg-5_all.deb ...
Unpacking python3-requests (2.32.3+dfsg-5) ...
Selecting previously unselected package python3-msgpack.
Preparing to unpack .../061-python3-msgpack_1.0.3-3+b4_amd64.deb ...
Unpacking python3-msgpack (1.0.3-3+b4) ...
Selecting previously unselected package python3-cachecontrol.
Preparing to unpack .../062-python3-cachecontrol_0.14.2-1_all.deb ...
Unpacking python3-cachecontrol (0.14.2-1) ...
Selecting previously unselected package python3-cerberus.
Preparing to unpack .../063-python3-cerberus_1.3.7-1_all.deb ...
Unpacking python3-cerberus (1.3.7-1) ...
Selecting previously unselected package python3-click.
Preparing to unpack .../064-python3-click_8.2.0+0.really.8.1.8-1_all.deb ...
Unpacking python3-click (8.2.0+0.really.8.1.8-1) ...
Selecting previously unselected package python3-coverage.
Preparing to unpack .../065-python3-coverage_7.6.0+dfsg1-2+b2_amd64.deb ...
Unpacking python3-coverage (7.6.0+dfsg1-2+b2) ...
Selecting previously unselected package python3-decorator.
Preparing to unpack .../066-python3-decorator_5.1.1-5_all.deb ...
Unpacking python3-decorator (5.1.1-5) ...
Selecting previously unselected package python3-dep-logic.
Preparing to unpack .../067-python3-dep-logic_0.4.10-1_all.deb ...
Unpacking python3-dep-logic (0.4.10-1) ...
Selecting previously unselected package python3-distlib.
Preparing to unpack .../068-python3-distlib_0.3.9-1_all.deb ...
Unpacking python3-distlib (0.3.9-1) ...
Selecting previously unselected package python3-sqlparse.
Preparing to unpack .../069-python3-sqlparse_0.5.3-1_all.deb ...
Unpacking python3-sqlparse (0.5.3-1) ...
Selecting previously unselected package python3-django.
Preparing to unpack .../070-python3-django_3%3a4.2.20-1_all.deb ...
Unpacking python3-django (3:4.2.20-1) ...
Selecting previously unselected package python3-dotenv.
Preparing to unpack .../071-python3-dotenv_1.0.1-1_all.deb ...
Unpacking python3-dotenv (1.0.1-1) ...
Selecting previously unselected package python3-editables.
Preparing to unpack .../072-python3-editables_0.5-2_all.deb ...
Unpacking python3-editables (0.5-2) ...
Selecting previously unselected package python3-execnet.
Preparing to unpack .../073-python3-execnet_2.1.1-1_all.deb ...
Unpacking python3-execnet (2.1.1-1) ...
Selecting previously unselected package python3-executing.
Preparing to unpack .../074-python3-executing_2.2.0-0.1_all.deb ...
Unpacking python3-executing (2.2.0-0.1) ...
Selecting previously unselected package python3-fastjsonschema.
Preparing to unpack .../075-python3-fastjsonschema_2.21.1-1_all.deb ...
Unpacking python3-fastjsonschema (2.21.1-1) ...
Selecting previously unselected package python3-filelock.
Preparing to unpack .../076-python3-filelock_3.18.0-1_all.deb ...
Unpacking python3-filelock (3.18.0-1) ...
Selecting previously unselected package python3-findpython.
Preparing to unpack .../077-python3-findpython_0.6.2-1_all.deb ...
Unpacking python3-findpython (0.6.2-1) ...
Selecting previously unselected package python3-first.
Preparing to unpack .../078-python3-first_2.0.2-4_all.deb ...
Unpacking python3-first (2.0.2-4) ...
Selecting previously unselected package python3-h11.
Preparing to unpack .../079-python3-h11_0.14.0-1_all.deb ...
Unpacking python3-h11 (0.14.0-1) ...
Selecting previously unselected package python3-pygments.
Preparing to unpack .../080-python3-pygments_2.18.0+dfsg-2_all.deb ...
Unpacking python3-pygments (2.18.0+dfsg-2) ...
Selecting previously unselected package python3-mdurl.
Preparing to unpack .../081-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 .../082-python3-markdown-it_3.0.0-2_all.deb ...
Unpacking python3-markdown-it (3.0.0-2) ...
Selecting previously unselected package python3-rich.
Preparing to unpack .../083-python3-rich_13.9.4-1_all.deb ...
Unpacking python3-rich (13.9.4-1) ...
Selecting previously unselected package python3-httpcore.
Preparing to unpack .../084-python3-httpcore_1.0.7-1_all.deb ...
Unpacking python3-httpcore (1.0.7-1) ...
Selecting previously unselected package python3-httpx.
Preparing to unpack .../085-python3-httpx_0.28.1-1_all.deb ...
Unpacking python3-httpx (0.28.1-1) ...
Selecting previously unselected package python3-hishel.
Preparing to unpack .../086-python3-hishel_0.1.1-1_all.deb ...
Unpacking python3-hishel (0.1.1-1) ...
Selecting previously unselected package python3-more-itertools.
Preparing to unpack .../087-python3-more-itertools_10.6.0-1_all.deb ...
Unpacking python3-more-itertools (10.6.0-1) ...
Selecting previously unselected package python3-typeguard.
Preparing to unpack .../088-python3-typeguard_4.4.2-1_all.deb ...
Unpacking python3-typeguard (4.4.2-1) ...
Selecting previously unselected package python3-inflect.
Preparing to unpack .../089-python3-inflect_7.3.1-2_all.deb ...
Unpacking python3-inflect (7.3.1-2) ...
Selecting previously unselected package python3-iniconfig.
Preparing to unpack .../090-python3-iniconfig_1.1.1-2_all.deb ...
Unpacking python3-iniconfig (1.1.1-2) ...
Selecting previously unselected package python3-parso.
Preparing to unpack .../091-python3-parso_0.8.4-1_all.deb ...
Unpacking python3-parso (0.8.4-1) ...
Selecting previously unselected package python3-typeshed.
Preparing to unpack .../092-python3-typeshed_0.0~git20241223.ea91db2-1_all.deb ...
Unpacking python3-typeshed (0.0~git20241223.ea91db2-1) ...
Selecting previously unselected package python3-jedi.
Preparing to unpack .../093-python3-jedi_0.19.1+ds1-1_all.deb ...
Unpacking python3-jedi (0.19.1+ds1-1) ...
Selecting previously unselected package python3-traitlets.
Preparing to unpack .../094-python3-traitlets_5.14.3+really5.14.3-1_all.deb ...
Unpacking python3-traitlets (5.14.3+really5.14.3-1) ...
Selecting previously unselected package python3-matplotlib-inline.
Preparing to unpack .../095-python3-matplotlib-inline_0.1.7-1_all.deb ...
Unpacking python3-matplotlib-inline (0.1.7-1) ...
Selecting previously unselected package python3-wcwidth.
Preparing to unpack .../096-python3-wcwidth_0.2.13+dfsg1-1_all.deb ...
Unpacking python3-wcwidth (0.2.13+dfsg1-1) ...
Selecting previously unselected package python3-prompt-toolkit.
Preparing to unpack .../097-python3-prompt-toolkit_3.0.50-1_all.deb ...
Unpacking python3-prompt-toolkit (3.0.50-1) ...
Selecting previously unselected package python3-pure-eval.
Preparing to unpack .../098-python3-pure-eval_0.2.3-1_all.deb ...
Unpacking python3-pure-eval (0.2.3-1) ...
Selecting previously unselected package python3-stack-data.
Preparing to unpack .../099-python3-stack-data_0.6.3-1_all.deb ...
Unpacking python3-stack-data (0.6.3-1) ...
Selecting previously unselected package python3-ptyprocess.
Preparing to unpack .../100-python3-ptyprocess_0.7.0-6_all.deb ...
Unpacking python3-ptyprocess (0.7.0-6) ...
Selecting previously unselected package python3-pexpect.
Preparing to unpack .../101-python3-pexpect_4.9-3_all.deb ...
Unpacking python3-pexpect (4.9-3) ...
Selecting previously unselected package python3-jaraco.context.
Preparing to unpack .../102-python3-jaraco.context_6.0.1-1_all.deb ...
Unpacking python3-jaraco.context (6.0.1-1) ...
Selecting previously unselected package python3-jaraco.functools.
Preparing to unpack .../103-python3-jaraco.functools_4.1.0-1_all.deb ...
Unpacking python3-jaraco.functools (4.1.0-1) ...
Selecting previously unselected package python3-pkg-resources.
Preparing to unpack .../104-python3-pkg-resources_75.8.0-1_all.deb ...
Unpacking python3-pkg-resources (75.8.0-1) ...
Selecting previously unselected package python3-jaraco.text.
Preparing to unpack .../105-python3-jaraco.text_4.0.0-1_all.deb ...
Unpacking python3-jaraco.text (4.0.0-1) ...
Selecting previously unselected package python3-zipp.
Preparing to unpack .../106-python3-zipp_3.21.0-1_all.deb ...
Unpacking python3-zipp (3.21.0-1) ...
Selecting previously unselected package python3-setuptools.
Preparing to unpack .../107-python3-setuptools_75.8.0-1_all.deb ...
Unpacking python3-setuptools (75.8.0-1) ...
Selecting previously unselected package python3-ipython.
Preparing to unpack .../108-python3-ipython_8.30.0-2_all.deb ...
Unpacking python3-ipython (8.30.0-2) ...
Selecting previously unselected package python3-license-expression.
Preparing to unpack .../109-python3-license-expression_30.4.1-1_all.deb ...
Unpacking python3-license-expression (30.4.1-1) ...
Selecting previously unselected package python3-markupsafe.
Preparing to unpack .../110-python3-markupsafe_2.1.5-1+b3_amd64.deb ...
Unpacking python3-markupsafe (2.1.5-1+b3) ...
Selecting previously unselected package python3-pbs-installer.
Preparing to unpack .../111-python3-pbs-installer_2025.03.11-1_all.deb ...
Unpacking python3-pbs-installer (2025.03.11-1) ...
Selecting previously unselected package python3-pyproject-metadata.
Preparing to unpack .../112-python3-pyproject-metadata_0.9.1-1_all.deb ...
Unpacking python3-pyproject-metadata (0.9.1-1) ...
Selecting previously unselected package python3-pyparsing.
Preparing to unpack .../113-python3-pyparsing_3.1.2-1_all.deb ...
Unpacking python3-pyparsing (3.1.2-1) ...
Selecting previously unselected package python3-tomli-w.
Preparing to unpack .../114-python3-tomli-w_1.0.0-3_all.deb ...
Unpacking python3-tomli-w (1.0.0-3) ...
Selecting previously unselected package python3-validate-pyproject.
Preparing to unpack .../115-python3-validate-pyproject_0.24-1_all.deb ...
Unpacking python3-validate-pyproject (0.24-1) ...
Selecting previously unselected package python3-pdm-backend.
Preparing to unpack .../116-python3-pdm-backend_2.4.3+ds1-1_all.deb ...
Unpacking python3-pdm-backend (2.4.3+ds1-1) ...
Selecting previously unselected package python3-pip.
Preparing to unpack .../117-python3-pip_25.0.1+dfsg-1_all.deb ...
Unpacking python3-pip (25.0.1+dfsg-1) ...
Selecting previously unselected package python3-pip-whl.
Preparing to unpack .../118-python3-pip-whl_25.0.1+dfsg-1_all.deb ...
Unpacking python3-pip-whl (25.0.1+dfsg-1) ...
Selecting previously unselected package python3-platformdirs.
Preparing to unpack .../119-python3-platformdirs_4.3.7-1_all.deb ...
Unpacking python3-platformdirs (4.3.7-1) ...
Selecting previously unselected package python3-pluggy.
Preparing to unpack .../120-python3-pluggy_1.5.0-1_all.deb ...
Unpacking python3-pluggy (1.5.0-1) ...
Selecting previously unselected package python3-pytest.
Preparing to unpack .../121-python3-pytest_8.3.5-1_all.deb ...
Unpacking python3-pytest (8.3.5-1) ...
Selecting previously unselected package python3-pytest-cov.
Preparing to unpack .../122-python3-pytest-cov_5.0.0-1_all.deb ...
Unpacking python3-pytest-cov (5.0.0-1) ...
Selecting previously unselected package python3-werkzeug.
Preparing to unpack .../123-python3-werkzeug_3.1.3-2_all.deb ...
Unpacking python3-werkzeug (3.1.3-2) ...
Selecting previously unselected package python3-pytest-httpserver.
Preparing to unpack .../124-python3-pytest-httpserver_1.1.2-1_all.deb ...
Unpacking python3-pytest-httpserver (1.1.2-1) ...
Selecting previously unselected package python3-pytest-mock.
Preparing to unpack .../125-python3-pytest-mock_3.14.0-2_all.deb ...
Unpacking python3-pytest-mock (3.14.0-2) ...
Selecting previously unselected package python3-pytest-rerunfailures.
Preparing to unpack .../126-python3-pytest-rerunfailures_15.0-1_all.deb ...
Unpacking python3-pytest-rerunfailures (15.0-1) ...
Selecting previously unselected package python3-pytest-xdist.
Preparing to unpack .../127-python3-pytest-xdist_3.6.1-1_all.deb ...
Unpacking python3-pytest-xdist (3.6.1-1) ...
Selecting previously unselected package python3-requests-toolbelt.
Preparing to unpack .../128-python3-requests-toolbelt_1.0.0-4_all.deb ...
Unpacking python3-requests-toolbelt (1.0.0-4) ...
Selecting previously unselected package python3-resolvelib.
Preparing to unpack .../129-python3-resolvelib_1.1.0-1_all.deb ...
Unpacking python3-resolvelib (1.1.0-1) ...
Selecting previously unselected package python3-setuptools-whl.
Preparing to unpack .../130-python3-setuptools-whl_75.8.0-1_all.deb ...
Unpacking python3-setuptools-whl (75.8.0-1) ...
Selecting previously unselected package python3-shellingham.
Preparing to unpack .../131-python3-shellingham_1.5.4-1_all.deb ...
Unpacking python3-shellingham (1.5.4-1) ...
Selecting previously unselected package python3-tomlkit.
Preparing to unpack .../132-python3-tomlkit_0.13.2-1_all.deb ...
Unpacking python3-tomlkit (0.13.2-1) ...
Selecting previously unselected package python3-truststore.
Preparing to unpack .../133-python3-truststore_0.10.1-1_all.deb ...
Unpacking python3-truststore (0.10.1-1) ...
Selecting previously unselected package python3-unearth.
Preparing to unpack .../134-python3-unearth_0.17.3-1_all.deb ...
Unpacking python3-unearth (0.17.3-1) ...
Selecting previously unselected package python3-wheel-whl.
Preparing to unpack .../135-python3-wheel-whl_0.45.1-1_all.deb ...
Unpacking python3-wheel-whl (0.45.1-1) ...
Selecting previously unselected package python3-virtualenv.
Preparing to unpack .../136-python3-virtualenv_20.29.3+ds-1_all.deb ...
Unpacking python3-virtualenv (20.29.3+ds-1) ...
Setting up media-types (13.0.0) ...
Setting up libpipeline1:amd64 (1.5.8-1) ...
Setting up python3-setuptools-whl (75.8.0-1) ...
Setting up bsdextrautils (2.40.4-5) ...
Setting up libmagic-mgc (1:5.46-4) ...
Setting up libarchive-zip-perl (1.68-1) ...
Setting up libdebhelper-perl (13.24.2) ...
Setting up libmagic1t64:amd64 (1:5.46-4) ...
Setting up gettext-base (0.23.1-1) ...
Setting up m4 (1.4.19-7) ...
Setting up file (1:5.46-4) ...
Setting up libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ...
Setting up libelf1t64:amd64 (0.192-4) ...
Setting up tzdata (2025b-1) ...

Current default time zone: 'Etc/UTC'
Local time is now:      Sun May  3 11:29:53 UTC 2026.
Universal Time is now:  Sun May  3 11:29:53 UTC 2026.
Run 'dpkg-reconfigure tzdata' if you wish to change it.

Setting up autotools-dev (20240727.1) ...
Setting up libunistring5:amd64 (1.3-2) ...
Setting up autopoint (0.23.1-1) ...
Setting up autoconf (2.72-3) ...
Setting up libffi8:amd64 (3.4.7-1) ...
Setting up dwz (0.15-1+b1) ...
Setting up sensible-utils (0.0.24) ...
Setting up libuchardet0:amd64 (0.0.8-1+b2) ...
Setting up netbase (6.5) ...
Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ...
Setting up libjs-jquery-hotkeys (0.2.0-1) ...
Setting up openssl (3.4.1-1) ...
Setting up python3-wheel-whl (0.45.1-1) ...
Setting up readline-common (8.2-6) ...
Setting up libxml2:amd64 (2.12.7+dfsg+really2.9.14-0.4) ...
Setting up automake (1:1.17-4) ...
update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode
Setting up libfile-stripnondeterminism-perl (1.14.1-2) ...
Setting up gettext (0.23.1-1) ...
Setting up libtool (2.5.4-4) ...
Setting up intltool-debian (0.35.0+20060710.6) ...
Setting up dh-autoreconf (20) ...
Setting up ca-certificates (20241223) ...
Updating certificates in /etc/ssl/certs...
152 added, 0 removed; done.
Setting up libjs-jquery-metadata (12-4) ...
Setting up libjs-jquery-isonscreen (1.2.0-1.1) ...
Setting up libreadline8t64:amd64 (8.2-6) ...
Setting up dh-strip-nondeterminism (1.14.1-2) ...
Setting up libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ...
Setting up groff-base (1.23.0-7) ...
Setting up libpython3.13-stdlib:amd64 (3.13.2-3) ...
Setting up libpython3-stdlib:amd64 (3.13.2-2) ...
Setting up python3.13 (3.13.2-3) ...
Setting up python3-pip-whl (25.0.1+dfsg-1) ...
Setting up po-debconf (1.0.21+nmu1) ...
Setting up python3 (3.13.2-2) ...
Setting up python3-distlib (0.3.9-1) ...
Setting up python3-zipp (3.21.0-1) ...
Setting up python3-click (8.2.0+0.really.8.1.8-1) ...
Setting up python3-autocommand (2.2.2-3) ...
Setting up python3-editables (0.5-2) ...
Setting up man-db (2.13.0-1) ...
Not building database; man-db/auto-update is not 'true'.
Setting up python3-markupsafe (2.1.5-1+b3) ...
Setting up python3-wheel (0.45.1-1) ...
Setting up python3-platformdirs (4.3.7-1) ...
Setting up python3-decorator (5.1.1-5) ...
Setting up python3-pygments (2.18.0+dfsg-2) ...
Setting up python3-packaging (24.2-1) ...
Setting up python3-chardet (5.2.0+dfsg-2) ...
Setting up python3-sqlparse (0.5.3-1) ...
Setting up python3-wcwidth (0.2.13+dfsg1-1) ...
Setting up python3-pyproject-hooks (1.2.0-1) ...
Setting up python3-pyparsing (3.1.2-1) ...
Setting up python3-certifi (2025.1.31+ds-1) ...
Setting up python3-typeshed (0.0~git20241223.ea91db2-1) ...
Setting up python3-werkzeug (3.1.3-2) ...
Setting up python3-mdurl (0.1.2-1) ...
Setting up python3-idna (3.10-1) ...
Setting up python3-h11 (0.14.0-1) ...
Setting up python3-typing-extensions (4.13.0-1) ...
Setting up python3-pip (25.0.1+dfsg-1) ...
Setting up python3-toml (0.10.2-1) ...
Setting up python3-installer (0.7.0+dfsg1-3) ...
Setting up python3-urllib3 (2.3.0-2) ...
Setting up python3-pluggy (1.5.0-1) ...
Setting up python3-markdown-it (3.0.0-2) ...
Setting up python3-fastjsonschema (2.21.1-1) ...
Setting up python3-first (2.0.2-4) ...
Setting up python3-truststore (0.10.1-1) ...
Setting up python3-pbs-installer (2025.03.11-1) ...
Setting up python3-boolean (4.0-4) ...
Setting up python3-traitlets (5.14.3+really5.14.3-1) ...
Setting up python3-license-expression (30.4.1-1) ...
Setting up python3-pytest-httpserver (1.1.2-1) ...
Setting up python3-msgpack (1.0.3-3+b4) ...
Setting up python3-build (1.2.2-1) ...
Setting up python3-execnet (2.1.1-1) ...
Setting up python3-shellingham (1.5.4-1) ...
Setting up python3-tomlkit (0.13.2-1) ...
Setting up python3-tomli-w (1.0.0-3) ...
Setting up python3-asgiref (3.8.1-1) ...
Setting up python3-ptyprocess (0.7.0-6) ...
Setting up python3-validate-pyproject (0.24-1) ...
Setting up python3-blinker (1.9.0-1) ...
Setting up python3-dotenv (1.0.1-1) ...
Setting up python3-prompt-toolkit (3.0.50-1) ...
Setting up dh-python (6.20250308) ...
Setting up python3-more-itertools (10.6.0-1) ...
Setting up python3-httpcore (1.0.7-1) ...
Setting up python3-iniconfig (1.1.1-2) ...
Setting up python3-sniffio (1.3.1-1) ...
Setting up python3-pure-eval (0.2.3-1) ...
Setting up python3-filelock (3.18.0-1) ...
Setting up python3-findpython (0.6.2-1) ...
Setting up python3-django (3:4.2.20-1) ...
Setting up python3-jaraco.functools (4.1.0-1) ...
Setting up python3-tomli (2.2.1-2+b1) ...
Setting up python3-jaraco.context (6.0.1-1) ...
Setting up python3-anyio (4.8.0-3) ...
Setting up python3-parso (0.8.4-1) ...
Setting up python3-pyproject-metadata (0.9.1-1) ...
Setting up python3-rich (13.9.4-1) ...
Setting up python3-dep-logic (0.4.10-1) ...
Setting up python3-asttokens (3.0.0-1) ...
Setting up pybuild-plugin-pyproject (6.20250308) ...
Setting up python3-charset-normalizer (3.4.1-1+b1) ...
Setting up python3-pytest (8.3.5-1) ...
Setting up python3-cerberus (1.3.7-1) ...
Setting up python3-typeguard (4.4.2-1) ...
Setting up python3-resolvelib (1.1.0-1) ...
Setting up python3-virtualenv (20.29.3+ds-1) ...
Setting up python3-coverage (7.6.0+dfsg1-2+b2) ...
Setting up debhelper (13.24.2) ...
Setting up python3-pytest-cov (5.0.0-1) ...
Setting up python3-pdm-backend (2.4.3+ds1-1) ...
Setting up python3-matplotlib-inline (0.1.7-1) ...
Setting up python3-inflect (7.3.1-2) ...
Setting up python3-httpx (0.28.1-1) ...
Setting up python3-executing (2.2.0-0.1) ...
Setting up python3-jaraco.text (4.0.0-1) ...
Setting up python3-pexpect (4.9-3) ...
Setting up python3-requests (2.32.3+dfsg-5) ...
Setting up python3-pytest-mock (3.14.0-2) ...
Setting up python3-cachecontrol (0.14.2-1) ...
Setting up python3-unearth (0.17.3-1) ...
Setting up python3-stack-data (0.6.3-1) ...
Setting up python3-pkg-resources (75.8.0-1) ...
Setting up python3-hishel (0.1.1-1) ...
Setting up python3-pytest-rerunfailures (15.0-1) ...
Setting up python3-requests-toolbelt (1.0.0-4) ...
Setting up python3-setuptools (75.8.0-1) ...
Setting up python3-pytest-xdist (3.6.1-1) ...
Setting up python3-jedi (0.19.1+ds1-1) ...
Setting up python3-ipython (8.30.0-2) ...
Processing triggers for libc-bin (2.41-6) ...
Processing triggers for ca-certificates (20241223) ...
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/reproducible-path/pdm-2.20.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.20.1+ds1-2_source.changes
dpkg-buildpackage: info: source package pdm
dpkg-buildpackage: info: source version 2.20.1+ds1-2
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 amd64
 debian/rules clean
dh clean --buildsystem=pybuild
   dh_auto_clean -O--buildsystem=pybuild
	pybuild --clean -i python{version} -p 3.13
	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 -o -name __pycache__ \) -prune -exec rm -rf {} + \) \)
 debian/rules binary
dh binary --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.13
   dh_auto_build -O--buildsystem=pybuild
	pybuild --build -i python{version} -p 3.13
I: pybuild plugin_pyproject:129: Building wheel for python3.13 with "build" module
I: pybuild base:311: python3.13 -m build --skip-dependency-check --no-isolation --wheel --outdir /build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13  
* Building wheel...
 - Adding .pdm-build/pdm-2.20.1.dist-info/METADATA -> pdm-2.20.1.dist-info/METADATA
 - Adding .pdm-build/pdm-2.20.1.dist-info/WHEEL -> pdm-2.20.1.dist-info/WHEEL
 - Adding .pdm-build/pdm-2.20.1.dist-info/entry_points.txt -> pdm-2.20.1.dist-info/entry_points.txt
 - Adding .pdm-build/pdm-2.20.1.dist-info/licenses/LICENSE -> pdm-2.20.1.dist-info/licenses/LICENSE
 - Adding src/pdm/__init__.py -> pdm/__init__.py
 - Adding src/pdm/__main__.py -> pdm/__main__.py
 - Adding src/pdm/__version__.py -> pdm/__version__.py
 - Adding src/pdm/_types.py -> pdm/_types.py
 - Adding src/pdm/builders/__init__.py -> pdm/builders/__init__.py
 - Adding src/pdm/builders/base.py -> pdm/builders/base.py
 - Adding src/pdm/builders/editable.py -> pdm/builders/editable.py
 - Adding src/pdm/builders/sdist.py -> pdm/builders/sdist.py
 - Adding src/pdm/builders/wheel.py -> pdm/builders/wheel.py
 - Adding src/pdm/cli/__init__.py -> pdm/cli/__init__.py
 - Adding src/pdm/cli/actions.py -> pdm/cli/actions.py
 - Adding src/pdm/cli/commands/__init__.py -> pdm/cli/commands/__init__.py
 - Adding src/pdm/cli/commands/add.py -> pdm/cli/commands/add.py
 - Adding src/pdm/cli/commands/base.py -> pdm/cli/commands/base.py
 - Adding src/pdm/cli/commands/build.py -> pdm/cli/commands/build.py
 - Adding src/pdm/cli/commands/cache.py -> pdm/cli/commands/cache.py
 - Adding src/pdm/cli/commands/completion.py -> pdm/cli/commands/completion.py
 - Adding src/pdm/cli/commands/config.py -> pdm/cli/commands/config.py
 - Adding src/pdm/cli/commands/export.py -> pdm/cli/commands/export.py
 - Adding src/pdm/cli/commands/fix/__init__.py -> pdm/cli/commands/fix/__init__.py
 - Adding src/pdm/cli/commands/fix/fixers.py -> pdm/cli/commands/fix/fixers.py
 - Adding src/pdm/cli/commands/import_cmd.py -> pdm/cli/commands/import_cmd.py
 - Adding src/pdm/cli/commands/info.py -> pdm/cli/commands/info.py
 - Adding src/pdm/cli/commands/init.py -> pdm/cli/commands/init.py
 - Adding src/pdm/cli/commands/install.py -> pdm/cli/commands/install.py
 - Adding src/pdm/cli/commands/list.py -> pdm/cli/commands/list.py
 - Adding src/pdm/cli/commands/lock.py -> pdm/cli/commands/lock.py
 - Adding src/pdm/cli/commands/outdated.py -> pdm/cli/commands/outdated.py
 - Adding src/pdm/cli/commands/publish/__init__.py -> pdm/cli/commands/publish/__init__.py
 - Adding src/pdm/cli/commands/publish/package.py -> pdm/cli/commands/publish/package.py
 - Adding src/pdm/cli/commands/publish/repository.py -> pdm/cli/commands/publish/repository.py
 - Adding src/pdm/cli/commands/python.py -> pdm/cli/commands/python.py
 - Adding src/pdm/cli/commands/remove.py -> pdm/cli/commands/remove.py
 - Adding src/pdm/cli/commands/run.py -> pdm/cli/commands/run.py
 - Adding src/pdm/cli/commands/search.py -> pdm/cli/commands/search.py
 - Adding src/pdm/cli/commands/self_cmd.py -> pdm/cli/commands/self_cmd.py
 - Adding src/pdm/cli/commands/show.py -> pdm/cli/commands/show.py
 - Adding src/pdm/cli/commands/sync.py -> pdm/cli/commands/sync.py
 - Adding src/pdm/cli/commands/update.py -> pdm/cli/commands/update.py
 - Adding src/pdm/cli/commands/use.py -> pdm/cli/commands/use.py
 - Adding src/pdm/cli/commands/venv/__init__.py -> pdm/cli/commands/venv/__init__.py
 - Adding src/pdm/cli/commands/venv/activate.py -> pdm/cli/commands/venv/activate.py
 - Adding src/pdm/cli/commands/venv/backends.py -> pdm/cli/commands/venv/backends.py
 - Adding src/pdm/cli/commands/venv/create.py -> pdm/cli/commands/venv/create.py
 - Adding src/pdm/cli/commands/venv/list.py -> pdm/cli/commands/venv/list.py
 - Adding src/pdm/cli/commands/venv/purge.py -> pdm/cli/commands/venv/purge.py
 - Adding src/pdm/cli/commands/venv/remove.py -> pdm/cli/commands/venv/remove.py
 - Adding src/pdm/cli/commands/venv/utils.py -> pdm/cli/commands/venv/utils.py
 - Adding src/pdm/cli/completions/__init__.py -> pdm/cli/completions/__init__.py
 - Adding src/pdm/cli/completions/pdm.bash -> pdm/cli/completions/pdm.bash
 - Adding src/pdm/cli/completions/pdm.fish -> pdm/cli/completions/pdm.fish
 - Adding src/pdm/cli/completions/pdm.ps1 -> pdm/cli/completions/pdm.ps1
 - Adding src/pdm/cli/completions/pdm.zsh -> pdm/cli/completions/pdm.zsh
 - Adding src/pdm/cli/filters.py -> pdm/cli/filters.py
 - Adding src/pdm/cli/hooks.py -> pdm/cli/hooks.py
 - Adding src/pdm/cli/options.py -> pdm/cli/options.py
 - Adding src/pdm/cli/templates/__init__.py -> pdm/cli/templates/__init__.py
 - Adding src/pdm/cli/templates/default/.gitignore -> pdm/cli/templates/default/.gitignore
 - Adding src/pdm/cli/templates/default/README.md -> pdm/cli/templates/default/README.md
 - Adding src/pdm/cli/templates/default/__init__.py -> pdm/cli/templates/default/__init__.py
 - Adding src/pdm/cli/templates/default/pyproject.toml -> pdm/cli/templates/default/pyproject.toml
 - Adding src/pdm/cli/templates/default/src/example_package/__init__.py -> pdm/cli/templates/default/src/example_package/__init__.py
 - Adding src/pdm/cli/templates/default/tests/__init__.py -> pdm/cli/templates/default/tests/__init__.py
 - Adding src/pdm/cli/templates/minimal/__init__.py -> pdm/cli/templates/minimal/__init__.py
 - Adding src/pdm/cli/templates/minimal/pyproject.toml -> pdm/cli/templates/minimal/pyproject.toml
 - Adding src/pdm/cli/utils.py -> pdm/cli/utils.py
 - Adding src/pdm/compat.py -> pdm/compat.py
 - Adding src/pdm/core.py -> pdm/core.py
 - Adding src/pdm/environments/__init__.py -> pdm/environments/__init__.py
 - Adding src/pdm/environments/base.py -> pdm/environments/base.py
 - Adding src/pdm/environments/local.py -> pdm/environments/local.py
 - Adding src/pdm/environments/python.py -> pdm/environments/python.py
 - Adding src/pdm/exceptions.py -> pdm/exceptions.py
 - Adding src/pdm/formats/__init__.py -> pdm/formats/__init__.py
 - Adding src/pdm/formats/base.py -> pdm/formats/base.py
 - Adding src/pdm/formats/flit.py -> pdm/formats/flit.py
 - Adding src/pdm/formats/pipfile.py -> pdm/formats/pipfile.py
 - Adding src/pdm/formats/poetry.py -> pdm/formats/poetry.py
 - Adding src/pdm/formats/requirements.py -> pdm/formats/requirements.py
 - Adding src/pdm/formats/setup_py.py -> pdm/formats/setup_py.py
 - Adding src/pdm/formats/uv.py -> pdm/formats/uv.py
 - Adding src/pdm/installers/__init__.py -> pdm/installers/__init__.py
 - Adding src/pdm/installers/base.py -> pdm/installers/base.py
 - Adding src/pdm/installers/core.py -> pdm/installers/core.py
 - Adding src/pdm/installers/installers.py -> pdm/installers/installers.py
 - Adding src/pdm/installers/manager.py -> pdm/installers/manager.py
 - Adding src/pdm/installers/synchronizers.py -> pdm/installers/synchronizers.py
 - Adding src/pdm/installers/uninstallers.py -> pdm/installers/uninstallers.py
 - Adding src/pdm/installers/uv.py -> pdm/installers/uv.py
 - Adding src/pdm/models/__init__.py -> pdm/models/__init__.py
 - Adding src/pdm/models/auth.py -> pdm/models/auth.py
 - Adding src/pdm/models/backends.py -> pdm/models/backends.py
 - Adding src/pdm/models/cached_package.py -> pdm/models/cached_package.py
 - Adding src/pdm/models/caches.py -> pdm/models/caches.py
 - Adding src/pdm/models/candidates.py -> pdm/models/candidates.py
 - Adding src/pdm/models/finder.py -> pdm/models/finder.py
 - Adding src/pdm/models/in_process/__init__.py -> pdm/models/in_process/__init__.py
 - Adding src/pdm/models/in_process/env_spec.py -> pdm/models/in_process/env_spec.py
 - Adding src/pdm/models/in_process/parse_setup.py -> pdm/models/in_process/parse_setup.py
 - Adding src/pdm/models/in_process/sysconfig_get_paths.py -> pdm/models/in_process/sysconfig_get_paths.py
 - Adding src/pdm/models/markers.py -> pdm/models/markers.py
 - Adding src/pdm/models/project_info.py -> pdm/models/project_info.py
 - Adding src/pdm/models/python.py -> pdm/models/python.py
 - Adding src/pdm/models/python_max_versions.json -> pdm/models/python_max_versions.json
 - Adding src/pdm/models/reporter.py -> pdm/models/reporter.py
 - Adding src/pdm/models/repositories/__init__.py -> pdm/models/repositories/__init__.py
 - Adding src/pdm/models/repositories/base.py -> pdm/models/repositories/base.py
 - Adding src/pdm/models/repositories/lock.py -> pdm/models/repositories/lock.py
 - Adding src/pdm/models/repositories/pypi.py -> pdm/models/repositories/pypi.py
 - Adding src/pdm/models/requirements.py -> pdm/models/requirements.py
 - Adding src/pdm/models/search.py -> pdm/models/search.py
 - Adding src/pdm/models/session.py -> pdm/models/session.py
 - Adding src/pdm/models/setup.py -> pdm/models/setup.py
 - Adding src/pdm/models/specifiers.py -> pdm/models/specifiers.py
 - Adding src/pdm/models/venv.py -> pdm/models/venv.py
 - Adding src/pdm/models/versions.py -> pdm/models/versions.py
 - Adding src/pdm/models/working_set.py -> pdm/models/working_set.py
 - Adding src/pdm/pep582/__init__.py -> pdm/pep582/__init__.py
 - Adding src/pdm/pep582/sitecustomize.py -> pdm/pep582/sitecustomize.py
 - Adding src/pdm/project/__init__.py -> pdm/project/__init__.py
 - Adding src/pdm/project/config.py -> pdm/project/config.py
 - Adding src/pdm/project/core.py -> pdm/project/core.py
 - Adding src/pdm/project/lockfile.py -> pdm/project/lockfile.py
 - Adding src/pdm/project/project_file.py -> pdm/project/project_file.py
 - Adding src/pdm/project/toml_file.py -> pdm/project/toml_file.py
 - Adding src/pdm/py.typed -> pdm/py.typed
 - Adding src/pdm/pytest.py -> pdm/pytest.py
 - Adding src/pdm/resolver/__init__.py -> pdm/resolver/__init__.py
 - Adding src/pdm/resolver/base.py -> pdm/resolver/base.py
 - Adding src/pdm/resolver/graph.py -> pdm/resolver/graph.py
 - Adding src/pdm/resolver/providers.py -> pdm/resolver/providers.py
 - Adding src/pdm/resolver/python.py -> pdm/resolver/python.py
 - Adding src/pdm/resolver/reporters.py -> pdm/resolver/reporters.py
 - Adding src/pdm/resolver/resolvelib.py -> pdm/resolver/resolvelib.py
 - Adding src/pdm/resolver/uv.py -> pdm/resolver/uv.py
 - Adding src/pdm/signals.py -> pdm/signals.py
 - Adding src/pdm/termui.py -> pdm/termui.py
 - Adding src/pdm/utils.py -> pdm/utils.py
 - Adding pdm-2.20.1.dist-info/RECORD -> pdm-2.20.1.dist-info/RECORD
Successfully built pdm-2.20.1-py3-none-any.whl
I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.13 with "installer" module
   debian/rules override_dh_auto_test
make[1]: Entering directory '/build/reproducible-path/pdm-2.20.1+ds1'
# Tests will fail due to missing artifacts
dh_auto_test
	pybuild --test --test-pytest -i python{version} -p 3.13
I: pybuild base:311: cd /build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build; python3.13 -m pytest tests
============================= test session starts ==============================
platform linux -- Python 3.13.2, pytest-8.3.5, pluggy-1.5.0
rootdir: /build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build
configfile: pyproject.toml
plugins: pytest_httpserver-1.1.2, cov-5.0.0, anyio-4.8.0, typeguard-4.4.2, xdist-3.6.1, mock-3.14.0, rerunfailures-15.0
collected 965 items

tests/cli/test_add.py EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE                 [  3%]
tests/cli/test_build.py EEEEEEEEEEEE                                     [  4%]
tests/cli/test_cache.py EEEEEEEEEEEE                                     [  6%]
tests/cli/test_config.py EEEEEE.EEEEEEEEEEE                              [  7%]
tests/cli/test_fix.py EEEEE                                              [  8%]
tests/cli/test_hooks.py EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE [ 13%]
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE                              [ 17%]
tests/cli/test_init.py EEEEEEEEEE                                        [ 18%]
tests/cli/test_install.py EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE [ 23%]
EEEEEEEEEEE                                                              [ 24%]
tests/cli/test_list.py EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE                   [ 27%]
tests/cli/test_lock.py EEEEEEEEEEEEEEEEEEE.EEEEEEEEEEEEEEEEEEEEEEEEEEEEE [ 33%]
                                                                         [ 33%]
tests/cli/test_others.py EE..EE.EE.EEEEEFFEEEE.EEE                       [ 35%]
tests/cli/test_outdated.py E                                             [ 35%]
tests/cli/test_publish.py FFFFFFEEEEEE                                   [ 36%]
tests/cli/test_python.py EEEEEEEEEE                                      [ 38%]
tests/cli/test_remove.py EEEEEEEEEEEEE                                   [ 39%]
tests/cli/test_run.py EEE..EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE [ 44%]
EEEEEEEEEEEEEE                                                           [ 46%]
tests/cli/test_self_command.py ........                                  [ 46%]
tests/cli/test_template.py EEEE                                          [ 47%]
tests/cli/test_update.py EEEEEEEEEEEEEEEEEEEEE                           [ 49%]
tests/cli/test_use.py EEEEEEE                                            [ 50%]
tests/cli/test_utils.py .                                                [ 50%]
tests/cli/test_venv.py EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE                   [ 53%]
tests/models/test_backends.py EEEE.......                                [ 54%]
tests/models/test_candidates.py EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE        [ 58%]
tests/models/test_marker.py ...................                          [ 60%]
tests/models/test_requirements.py ........F...........                   [ 62%]
tests/models/test_session.py E                                           [ 62%]
tests/models/test_setup_parsing.py ..........                            [ 63%]
tests/models/test_specifiers.py ........................................ [ 67%]
..                                                                       [ 67%]
tests/models/test_versions.py ...................                        [ 69%]
tests/resolver/test_resolve.py EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE     [ 73%]
tests/resolver/test_uv_resolver.py EEEE                                  [ 73%]
tests/test_formats.py EEEEEEEEEEEEEEEEE                                  [ 75%]
tests/test_installer.py EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE               [ 79%]
tests/test_integration.py RRRFE                                          [ 79%]
tests/test_plugin.py EE..E                                               [ 79%]
tests/test_project.py EEEEE..EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE [ 84%]
EEEEEEEEEEEEE                                                            [ 86%]
tests/test_signals.py EEEEE                                              [ 86%]
tests/test_utils.py ...............................s.................... [ 92%]
........................................EEEEEEEEEEEE.................... [ 99%]
...                                                                      [100%]

==================================== ERRORS ====================================
__________________ ERROR at setup of test_add_package[False] ___________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________________ ERROR at setup of test_add_package[True] ___________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_add_package_no_lock[False] _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_add_package_no_lock[True] _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________________ ERROR at setup of test_add_command ______________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_add_package_to_custom_group ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_add_package_to_custom_dev_group ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________________ ERROR at setup of test_add_editable_package __________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______ ERROR at setup of test_add_editable_package_to_metadata_forbidden _______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_non_editable_override_editable _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_add_remote_package_url[False] _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_add_remote_package_url[True] ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________________ ERROR at setup of test_add_no_install _____________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________________ ERROR at setup of test_add_package_save_exact _________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_add_package_save_wildcard _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_add_package_save_minimum ________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_add_package_update_reuse ________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_add_package_update_eager ________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________ ERROR at setup of test_add_package_with_mismatch_marker ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________ ERROR at setup of test_add_dependency_from_multiple_parents __________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_add_packages_without_self _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______ ERROR at setup of test_add_package_unconstrained_rewrite_specifier ______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_add_cached_vcs_requirement _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________________ ERROR at setup of test_add_with_dry_run ____________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________________ ERROR at setup of test_add_with_prerelease __________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________ ERROR at setup of test_add_editable_package_with_extras ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_add_package_with_local_version _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________________ ERROR at setup of test_add_group_to_lockfile _________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________ ERROR at setup of test_add_group_to_lockfile_without_package _________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_add_update_reuse_installed _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________ ERROR at setup of test_add_update_reuse_installed_config ___________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________________ ERROR at setup of test_add_disable_cache ___________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______ ERROR at setup of test_add_dependency_with_direct_minimal_versions ______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_add_group_with_normalized_name _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________________ ERROR at setup of test_build_command _____________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_build_global_project_forbidden _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________________ ERROR at setup of test_build_single_module __________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_build_single_module_with_readme ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________________ ERROR at setup of test_build_package _____________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________________ ERROR at setup of test_build_src_package ___________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________________ ERROR at setup of test_build_package_include _________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_build_src_package_by_include ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_build_with_config_settings _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_cli_build_with_config_settings _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________________ ERROR at setup of test_build_with_no_isolation ________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_build_ignoring_pip_environment _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________________ ERROR at setup of test_cache_list _______________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________________ ERROR at setup of test_cache_list_pattern ___________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________________ ERROR at setup of test_cache_remove_pattern __________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________________ ERROR at setup of test_cache_remove_wildcard _________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________________ ERROR at setup of test_cache_clear ______________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________________ ERROR at setup of test_cache_remove_no_pattern ________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________________ ERROR at setup of test_cache_info _______________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

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

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_hash_cache[file:///build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/demo-0.0.1.tar.gz-sha256:d57bf5e3b8723e4fc68275159dcc4ca983d86d4c84220a4d715d491401f27db2] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

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

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

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

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________________ ERROR at setup of test_clear_package_cache __________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________________ ERROR at setup of test_config_command _____________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________________ ERROR at setup of test_config_get_command ___________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________________ ERROR at setup of test_config_set_command ___________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________________ ERROR at setup of test_config_del_command ___________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_config_env_var_shadowing ________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________ ERROR at setup of test_config_project_global_precedence ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_default_repository_setting _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______ ERROR at setup of test_repository_config_not_available_on_project _______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_repository_config_key_short ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_repository_overwrite_default ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________ ERROR at setup of test_hide_password_in_output_repository ___________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_hide_password_in_output_pypi ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________________ ERROR at setup of test_config_get_repository _________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________________ ERROR at setup of test_config_set_repository _________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________________ ERROR at setup of test_config_del_repository _________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________ ERROR at setup of test_config_password_save_into_keyring ___________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________ ERROR at setup of test_keyring_operation_error_disables_itself ________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_fix_non_existing_problem ________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________________ ERROR at setup of test_fix_individual_problem _________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________________ ERROR at setup of test_show_fix_command ____________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_show_fix_command_global_project ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________________ ERROR at setup of test_fix_project_config ___________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________________ ERROR at setup of test_pre_script_fail_fast __________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________________ ERROR at setup of test_pre_and_post_scripts __________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_composite_runs_all_hooks ________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_skip_all_hooks_option[:all] ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

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

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

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

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

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

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

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

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

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

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

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

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

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

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

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

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

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

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

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

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________ ERROR at setup of test_skip_option_default_from_env[None-None] ________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

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

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

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

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________________ ERROR at setup of test_hooks[add] _______________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________________ ERROR at setup of test_hooks[build] ______________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________________ ERROR at setup of test_hooks[init] ______________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________________ ERROR at setup of test_hooks[install] _____________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________________ ERROR at setup of test_hooks[lock] ______________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________________ ERROR at setup of test_hooks[publish] _____________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________________ ERROR at setup of test_hooks[remove] _____________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________________ ERROR at setup of test_hooks[sync] ______________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________________ ERROR at setup of test_hooks[update] _____________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________________ ERROR at setup of test_hooks[use] _______________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

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

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

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

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

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

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

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

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

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

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

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

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

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

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

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

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

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

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

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

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

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

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

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

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

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

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______ ERROR at setup of test_skip_option_from_signal[publish-post_build] ______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____ ERROR at setup of test_skip_option_from_signal[publish-post_publish] _____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______ ERROR at setup of test_skip_option_from_signal[remove-pre_lock] ________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______ ERROR at setup of test_skip_option_from_signal[remove-post_lock] _______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______ ERROR at setup of test_skip_option_from_signal[sync-pre_install] _______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______ ERROR at setup of test_skip_option_from_signal[sync-post_install] _______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______ ERROR at setup of test_skip_option_from_signal[update-pre_install] ______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____ ERROR at setup of test_skip_option_from_signal[update-post_install] ______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______ ERROR at setup of test_skip_option_from_signal[update-pre_lock] ________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______ ERROR at setup of test_skip_option_from_signal[update-post_lock] _______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________ ERROR at setup of test_skip_option_from_signal[use-post_use] _________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________ ERROR at setup of test_skip_all_option_from_signal[:all-add] _________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________ ERROR at setup of test_skip_all_option_from_signal[:all-build] ________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________ ERROR at setup of test_skip_all_option_from_signal[:all-init] _________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______ ERROR at setup of test_skip_all_option_from_signal[:all-install] _______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________ ERROR at setup of test_skip_all_option_from_signal[:all-lock] _________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______ ERROR at setup of test_skip_all_option_from_signal[:all-publish] _______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______ ERROR at setup of test_skip_all_option_from_signal[:all-remove] ________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________ ERROR at setup of test_skip_all_option_from_signal[:all-sync] _________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______ ERROR at setup of test_skip_all_option_from_signal[:all-update] ________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________ ERROR at setup of test_skip_all_option_from_signal[:all-use] _________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______ ERROR at setup of test_skip_all_option_from_signal[:pre,:post-add] ______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____ ERROR at setup of test_skip_all_option_from_signal[:pre,:post-build] _____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____ ERROR at setup of test_skip_all_option_from_signal[:pre,:post-init] ______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____ ERROR at setup of test_skip_all_option_from_signal[:pre,:post-install] ____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____ ERROR at setup of test_skip_all_option_from_signal[:pre,:post-lock] ______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____ ERROR at setup of test_skip_all_option_from_signal[:pre,:post-publish] ____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____ ERROR at setup of test_skip_all_option_from_signal[:pre,:post-remove] _____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____ ERROR at setup of test_skip_all_option_from_signal[:pre,:post-sync] ______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____ ERROR at setup of test_skip_all_option_from_signal[:pre,:post-update] _____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______ ERROR at setup of test_skip_all_option_from_signal[:pre,:post-use] ______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______ ERROR at setup of test_skip_pre_post_option_from_signal[pre-add] _______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______ ERROR at setup of test_skip_pre_post_option_from_signal[pre-build] ______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______ ERROR at setup of test_skip_pre_post_option_from_signal[pre-init] _______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____ ERROR at setup of test_skip_pre_post_option_from_signal[pre-install] _____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______ ERROR at setup of test_skip_pre_post_option_from_signal[pre-lock] _______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____ ERROR at setup of test_skip_pre_post_option_from_signal[pre-publish] _____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____ ERROR at setup of test_skip_pre_post_option_from_signal[pre-remove] ______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______ ERROR at setup of test_skip_pre_post_option_from_signal[pre-sync] _______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____ ERROR at setup of test_skip_pre_post_option_from_signal[pre-update] ______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______ ERROR at setup of test_skip_pre_post_option_from_signal[pre-use] _______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______ ERROR at setup of test_skip_pre_post_option_from_signal[post-add] _______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____ ERROR at setup of test_skip_pre_post_option_from_signal[post-build] ______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______ ERROR at setup of test_skip_pre_post_option_from_signal[post-init] ______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____ ERROR at setup of test_skip_pre_post_option_from_signal[post-install] _____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______ ERROR at setup of test_skip_pre_post_option_from_signal[post-lock] ______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____ ERROR at setup of test_skip_pre_post_option_from_signal[post-publish] _____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____ ERROR at setup of test_skip_pre_post_option_from_signal[post-remove] _____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______ ERROR at setup of test_skip_pre_post_option_from_signal[post-sync] ______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____ ERROR at setup of test_skip_pre_post_option_from_signal[post-update] _____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______ ERROR at setup of test_skip_pre_post_option_from_signal[post-use] _______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_init_validate_python_requires _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________________ ERROR at setup of test_init_command ______________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________________ ERROR at setup of test_init_command_library __________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________________ ERROR at setup of test_init_non_interactive __________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________________ ERROR at setup of test_init_auto_create_venv _________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________ ERROR at setup of test_init_auto_create_venv_specify_python __________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________ ERROR at setup of test_init_with_backend_default_library ___________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___ ERROR at setup of test_init_with_backend_default_library_non_interactive ___

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________ ERROR at setup of test_init_with_license_non_interactive ___________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______ ERROR at setup of test_init_with_project_version_non_interactive _______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_sync_packages_with_group_all ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_sync_packages_with_all_dev _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________________ ERROR at setup of test_sync_no_lockfile ____________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________________ ERROR at setup of test_sync_clean_packages __________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________________ ERROR at setup of test_sync_dry_run ______________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________________ ERROR at setup of test_sync_only_different __________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________________ ERROR at setup of test_sync_in_sequential_mode ________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_sync_packages_with_groups _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________ ERROR at setup of test_sync_production_packages[prod_option0] _________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________ ERROR at setup of test_sync_production_packages[prod_option1] _________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________________ ERROR at setup of test_sync_without_self ___________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________________ ERROR at setup of test_sync_with_index_change _________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________________ ERROR at setup of test_install_command ____________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________________ ERROR at setup of test_sync_command ______________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________________ ERROR at setup of test_install_with_lockfile _________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________________ ERROR at setup of test_install_with_dry_run __________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________________ ERROR at setup of test_install_frozen_lockfile ________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_install_no_lock_deprecated _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________________ ERROR at setup of test_install_check _____________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________ ERROR at setup of test_sync_with_clean_unselected_option ___________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________ ERROR at setup of test_install_referencing_self_package ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_install_monorepo_with_rel_paths ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________________ ERROR at setup of test_install_retry _____________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________________ ERROR at setup of test_install_fail_fast ___________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_install_groups_not_in_lockfile _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________________ ERROR at setup of test_install_locked_groups _________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________________ ERROR at setup of test_install_groups_and_lock ________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_install_requirement_with_extras ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_fix_package_type_and_update ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_install_all_with_excluded_groups[-G :all --without tz,ssl] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_install_all_with_excluded_groups[-G :all --without tz --without ssl] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_install_all_with_excluded_groups[--with all --without tz,ssl] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_install_all_with_excluded_groups[--with all --without tz --without ssl] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_install_all_with_excluded_groups[--without tz --without ssl] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__ ERROR at setup of test_install_all_with_excluded_groups[--without tz,ssl] ___

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_sync_all_with_excluded_groups[-G :all --without tz,ssl] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_sync_all_with_excluded_groups[-G :all --without tz --without ssl] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_sync_all_with_excluded_groups[--with all --without tz,ssl] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_sync_all_with_excluded_groups[--with all --without tz --without ssl] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_sync_all_with_excluded_groups[--without tz --without ssl] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____ ERROR at setup of test_sync_all_with_excluded_groups[--without tz,ssl] ____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________ ERROR at setup of test_excluded_groups_ignored_if_prod_passed _________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________ ERROR at setup of test_excluded_groups_ignored_if_dev_passed _________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____ ERROR at setup of test_install_from_multi_target_lock[groups0-False] _____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____ ERROR at setup of test_install_from_multi_target_lock[groups0-True] ______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______ ERROR at setup of test_install_from_multi_target_lock[None-False] _______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______ ERROR at setup of test_install_from_multi_target_lock[None-True] _______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________ ERROR at setup of test_install_from_lock_with_higher_version _________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________ ERROR at setup of test_install_from_lock_with_lower_version __________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_install_from_lock_with_incompatible_targets[3.11-==3.11-macos] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_install_from_lock_with_incompatible_targets[3.11-==3.10-manylinux_2_17_x86_64] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_install_from_lock_with_incompatible_targets[3.11-==3.11-manylinux_2_17_aarch64] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_install_from_lock_with_incompatible_targets[>=3.11-==3.11-macos] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_install_from_lock_with_incompatible_targets[>=3.11-==3.10-manylinux_2_17_x86_64] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_install_from_lock_with_incompatible_targets[>=3.11-==3.11-manylinux_2_17_aarch64] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________________ ERROR at setup of test_uv_install _______________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_uv_install_pep582_not_allowed _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________________ ERROR at setup of test_list_command ______________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________________ ERROR at setup of test_list_graph_command ___________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________________ ERROR at setup of test_list_dependency_graph _________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________ ERROR at setup of test_list_dependency_graph_include_exclude _________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______ ERROR at setup of test_list_dependency_graph_with_circular_forward ______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______ ERROR at setup of test_list_dependency_graph_with_circular_reverse ______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_list_reverse_without_graph_flag ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_list_reverse_dependency_graph _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________________ ERROR at setup of test_list_json _______________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________________ ERROR at setup of test_list_json_with_pattern _________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________________ ERROR at setup of test_list_json_reverse ___________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_list_reverse_json_with_pattern _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_list_json_with_circular_forward ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_list_json_with_circular_reverse ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________________ ERROR at setup of test_list_field_unknown ___________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________________ ERROR at setup of test_list_sort_unknown ___________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_list_freeze_banned_options _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_list_multiple_export_formats ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________________ ERROR at setup of test_list_bare _______________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________________ ERROR at setup of test_list_bare_sorted_name _________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________________ ERROR at setup of test_list_with_pattern ___________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________________ ERROR at setup of test_list_freeze ______________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_list_bare_sorted_version ________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________ ERROR at setup of test_list_bare_sorted_version_resolve ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_list_bare_fields_licences _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_list_csv_fields_licences ________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_list_json_fields_licences _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_list_markdown_fields_licences _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_list_csv_include_exclude_valid _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_list_packages_in_given_venv ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_list_csv_include_exclude ________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________________ ERROR at setup of test_lock_command ______________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________________ ERROR at setup of test_lock_dependencies ___________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________________ ERROR at setup of test_lock_refresh[args0] __________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________________ ERROR at setup of test_lock_refresh[args1] __________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_lock_refresh_keep_consistent ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_lock_check_no_change_success ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________________ ERROR at setup of test_lock_check_change_fails ________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________ ERROR at setup of test_innovations_with_specified_lockfile __________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________ ERROR at setup of test_skip_editable_dependencies_in_metadata _________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________________ ERROR at setup of test_lock_selected_groups __________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________ ERROR at setup of test_lock_self_referencing_dev_groups[True] _________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________ ERROR at setup of test_lock_self_referencing_dev_groups[False] ________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________ ERROR at setup of test_lock_self_referencing_optional_groups _________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_lock_include_groups_not_allowed ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____ ERROR at setup of test_lock_optional_referencing_dev_group_not_allowed ____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_lock_multiple_platform_wheels _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________ ERROR at setup of test_lock_specific_platform_wheels[linux] __________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________ ERROR at setup of test_lock_specific_platform_wheels[macos] __________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________ ERROR at setup of test_lock_specific_platform_wheels[windows] _________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_apply_lock_strategy_changes ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____ ERROR at setup of test_apply_lock_strategy_changes_invalid[strategy0] _____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____ ERROR at setup of test_apply_lock_strategy_changes_invalid[strategy1] _____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_lock_direct_minimal_versions ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______ ERROR at setup of test_lock_direct_minimal_versions_real[args0] ________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______ ERROR at setup of test_lock_direct_minimal_versions_real[args1] ________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_lockfile_compatibility[4.1.0-2] ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_lockfile_compatibility[4.1.1-1] ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_lockfile_compatibility[4.1.2-3] ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_lockfile_compatibility[4.2-0] _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_lockfile_compatibility[3.0-0] _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_lockfile_compatibility[4.0.1-2] ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_lock_default_inherit_metadata _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_lock_inherit_metadata_strategy _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________________ ERROR at setup of test_lock_exclude_newer ___________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_lock_all_with_excluded_groups[-G :all --without tz,ssl] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_lock_all_with_excluded_groups[-G :all --without tz --without ssl] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_lock_all_with_excluded_groups[--with all --without tz,ssl] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_lock_all_with_excluded_groups[--with all --without tz --without ssl] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_lock_all_with_excluded_groups[--without tz --without ssl] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____ ERROR at setup of test_lock_all_with_excluded_groups[--without tz,ssl] ____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________ ERROR at setup of test_forbidden_lock_target_options[args0] __________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________ ERROR at setup of test_forbidden_lock_target_options[args1] __________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________ ERROR at setup of test_forbidden_lock_target_options[args2] __________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________ ERROR at setup of test_forbidden_lock_target_options[args3] __________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________ ERROR at setup of test_lock_for_multiple_targets[False] ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_lock_for_multiple_targets[True] ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_lock_with_override_file[/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/constraints.txt] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_lock_with_override_file[file:///build/reproducible-path/pdm-2.20.1%2Bds1/.pybuild/cpython3_3.13/build/tests/fixtures/constraints.txt] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________________ ERROR at setup of test_build_distributions __________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________________ ERROR at setup of test_project_no_init_error _________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________________ ERROR at setup of test_info_command ______________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________________ ERROR at setup of test_info_command_json ___________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_info_with_multiple_venvs ________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_global_project_other_location _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______ ERROR at setup of test_import_other_format_file[requirements.txt] _______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________ ERROR at setup of test_import_other_format_file[Pipfile] ___________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______ ERROR at setup of test_import_other_format_file[pyproject.toml] ________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_import_other_format_file[projects/flit-demo/pyproject.toml] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_import_requirement_no_overwrite ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________________ ERROR at setup of test_show_self_package ___________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_export_to_requirements_txt _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___ ERROR at setup of test_export_doesnt_include_dep_with_extras[extra_opt0] ___

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___ ERROR at setup of test_export_doesnt_include_dep_with_extras[extra_opt1] ___

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________________ ERROR at setup of test_show_update_hint ____________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_export_with_platform_markers ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________________ ERROR at setup of test_export_with_vcs_deps __________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________________ ERROR at setup of test_outdated ________________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_repository_get_release_urls ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_publish_pick_up_asc_files _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_publish_package_with_signature _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_publish_and_build_in_one_run ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________ ERROR at setup of test_publish_cli_args_and_env_var_precedence ________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________ ERROR at setup of test_repository_get_credentials_from_keyring ________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________________ ERROR at setup of test_install_python _____________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_install_python_best_match _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_install_python_min_match ________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_use_auto_install_missing ________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_use_auto_install_pick_latest ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________________ ERROR at setup of test_use_no_auto_install __________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_use_auto_install_strategy_max _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_use_auto_install_strategy_min _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________________ ERROR at setup of test_link_python ______________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_link_python_invalid_interpreter ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________________ ERROR at setup of test_remove_command _____________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____ ERROR at setup of test_remove_editable_packages_while_keeping_normal _____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________________ ERROR at setup of test_remove_package[False] _________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________________ ERROR at setup of test_remove_package[True] __________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_remove_package_no_lock[False] _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_remove_package_no_lock[True] ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_remove_package_with_dry_run ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________________ ERROR at setup of test_remove_package_no_sync _________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_remove_package_not_exist ________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________ ERROR at setup of test_remove_package_exist_in_multi_groups __________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________________ ERROR at setup of test_remove_no_package ___________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_remove_package_wont_break_toml _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_remove_group_not_in_lockfile ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________ ERROR at setup of test_pep582_launcher_for_python_interpreter _________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_auto_isolate_site_packages _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________________ ERROR at setup of test_run_with_site_packages _________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________________ ERROR at setup of test_run_cmd_script _____________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_run_cmd_script_with_array _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_run_script_pass_project_root ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________________ ERROR at setup of test_run_shell_script ____________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_run_script_with_relative_path _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_run_non_existing_local_script _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___ ERROR at setup of test_run_shell_script_with_args_placeholder[with-args] ___

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_run_shell_script_with_args_placeholder[without-args] __

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_run_shell_script_with_args_placeholder_with_default[with-args] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_run_shell_script_with_args_placeholder_with_default[with-default] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________________ ERROR at setup of test_run_call_script ____________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_run_script_with_extra_args _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__ ERROR at setup of test_run_script_with_args_placeholder[as-str-with-args] ___

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_run_script_with_args_placeholder[as-str-without-args] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__ ERROR at setup of test_run_script_with_args_placeholder[as-list-with-args] __

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_run_script_with_args_placeholder[as-list-without-args] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_run_script_with_args_placeholder_with_default[as-str-with-args] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_run_script_with_args_placeholder_with_default[as-str-default] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

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

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

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_run_script_with_args_placeholder_with_default[as-list-with-args] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_run_script_with_args_placeholder_with_default[as-list-default] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________ ERROR at setup of test_run_shell_script_with_pdm_placeholder _________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________________ ERROR at setup of test_run_expand_env_vars __________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_run_expand_env_vars_from_config ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_run_script_with_env_defined ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_run_script_with_dotenv_file ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_run_script_override_global_env _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_run_show_list_of_scripts ________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________ ERROR at setup of test_run_show_list_of_scripts_hide_internals ________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_run_json_list_of_scripts ________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________ ERROR at setup of test_run_with_another_project_root[True] __________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________ ERROR at setup of test_run_with_another_project_root[False] __________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_import_another_sitecustomize ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_run_with_patched_sysconfig _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________________ ERROR at setup of test_run_composite _____________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________ ERROR at setup of test_composite_stops_on_first_failure ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_composite_keep_going_on_failure ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________________ ERROR at setup of test_composite_inherit_env _________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________ ERROR at setup of test_composite_fail_on_first_missing_task __________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________ ERROR at setup of test_composite_fails_on_recursive_script __________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_composite_runs_all_hooks ________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________ ERROR at setup of test_composite_pass_parameters_to_subtasks _________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_composite_can_pass_parameters _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_composite_only_pass_parameters_to_subtasks_with_args[with-args] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_composite_only_pass_parameters_to_subtasks_with_args[without-args] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_composite_only_pass_parameters_to_subtasks_with_args_with_default[with-args] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_composite_only_pass_parameters_to_subtasks_with_args_with_default[default] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_composite_hooks_inherit_env ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________ ERROR at setup of test_composite_inherit_env_in_cascade ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_composite_inherit_dotfile _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_resolve_env_vars_in_dotfile ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_composite_can_have_commands ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________________ ERROR at setup of test_run_shortcut ______________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________ ERROR at setup of test_run_shortcuts_dont_override_commands __________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___ ERROR at setup of test_run_shortcut_fail_with_usage_if_script_not_found ____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_empty_positionnal_args_still_display_usage[unknown param] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_empty_positionnal_args_still_display_usage[not an user script] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________ ERROR at setup of test_empty_positional_args_display_help ___________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_run_script_changing_working_dir ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_run_script_with_inline_metadata ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________ ERROR at setup of test_non_pyproject_template_disallowed ___________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________________ ERROR at setup of test_module_project_template ________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____ ERROR at setup of test_module_project_template_generate_application ______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_package_project_template ________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_update_packages_with_top ________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________________ ERROR at setup of test_update_command _____________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_update_ignore_constraints _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_update_all_packages[reuse] _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_update_all_packages[all] ________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________________ ERROR at setup of test_update_no_lock _____________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________________ ERROR at setup of test_update_dry_run _____________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_update_top_packages_dry_run ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_update_specified_packages _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________ ERROR at setup of test_update_specified_packages_eager_mode __________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________________ ERROR at setup of test_update_transitive ___________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______ ERROR at setup of test_update_transitive_nonexistant_dependencies _______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_update_package_wrong_group _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____ ERROR at setup of test_update_transitive_non_transitive_dependencies _____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______ ERROR at setup of test_update_specified_packages_eager_mode_config ______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________ ERROR at setup of test_update_with_package_and_groups_argument ________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____ ERROR at setup of test_update_with_prerelease_without_package_argument ____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________ ERROR at setup of test_update_existing_package_with_prerelease ________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_update_package_with_extras _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_update_groups_in_lockfile _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_update_group_not_in_lockfile ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________________ ERROR at setup of test_use_command ______________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________________ ERROR at setup of test_use_python_by_version _________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________________ ERROR at setup of test_use_wrapper_python ___________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_use_invalid_wrapper_python _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_use_remember_last_selection ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________________ ERROR at setup of test_use_venv_python ____________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_use_auto_install_and_no_auto_install_are_mutual_exclusive _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________________ ERROR at setup of test_venv_create ______________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________________ ERROR at setup of test_venv_create_in_project _________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_venv_create_other_location _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________________ ERROR at setup of test_venv_show_path _____________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________________ ERROR at setup of test_venv_list _______________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________________ ERROR at setup of test_venv_remove ______________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________________ ERROR at setup of test_venv_recreate _____________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_venv_activate[virtualenv] _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________________ ERROR at setup of test_venv_activate[venv] __________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________ ERROR at setup of test_venv_activate_custom_prompt[virtualenv] ________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________ ERROR at setup of test_venv_activate_custom_prompt[venv] ___________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________ ERROR at setup of test_venv_activate_project_without_python __________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________________ ERROR at setup of test_venv_activate_error __________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________ ERROR at setup of test_venv_activate_no_shell[virtualenv] ___________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_venv_activate_no_shell[venv] ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________________ ERROR at setup of test_venv_auto_create[True] _________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________________ ERROR at setup of test_venv_auto_create[False] ________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________________ ERROR at setup of test_venv_purge _______________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________________ ERROR at setup of test_venv_purge_force ____________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____ ERROR at setup of test_venv_purge_interactive[virtualenv-none-True] ______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______ ERROR at setup of test_venv_purge_interactive[virtualenv-0-False] _______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____ ERROR at setup of test_venv_purge_interactive[virtualenv-all-False] ______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________ ERROR at setup of test_venv_purge_interactive[venv-none-True] _________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________ ERROR at setup of test_venv_purge_interactive[venv-0-False] __________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________ ERROR at setup of test_venv_purge_interactive[venv-all-False] _________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_virtualenv_backend_create[True] ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________ ERROR at setup of test_virtualenv_backend_create[False] ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_venv_backend_create[True] _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_venv_backend_create[False] _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_conda_backend_create[True] _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_conda_backend_create[False] ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_project_backend[pdm-backend] ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_project_backend[setuptools] ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_project_backend[flit-core] _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_project_backend[hatchling] _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________ ERROR at setup of test_parse_local_directory_metadata[False] _________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________ ERROR at setup of test_parse_local_directory_metadata[True] __________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_parse_vcs_metadata[False] _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_parse_vcs_metadata[True] ________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_parse_artifact_metadata[/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/demo-0.0.1.tar.gz] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_parse_artifact_metadata[/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_parse_metadata_with_extras _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_parse_remote_link_metadata _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: 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] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_expand_project_root_in_url[demo @ file:///${PROJECT_ROOT}/tests/fixtures/artifacts/demo-0.0.1.tar.gz] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_expand_project_root_in_url[demo @ file:///${PROJECT_ROOT}/tests/fixtures/projects/demo] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_expand_project_root_in_url[-e ./tests/fixtures/projects/demo] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_expand_project_root_in_url[-e file:///${PROJECT_ROOT}/tests/fixtures/projects/demo#egg=demo] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_expand_project_root_in_url[-e file:///${PROJECT_ROOT}/tests/fixtures/projects/demo-#-with-hash#egg=demo] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________ ERROR at setup of test_parse_project_file_on_build_error ___________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____ ERROR at setup of test_parse_project_file_on_build_error_with_extras _____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______ ERROR at setup of test_parse_project_file_on_build_error_no_dep ________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________ ERROR at setup of test_parse_poetry_project_metadata[False] __________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________ ERROR at setup of test_parse_poetry_project_metadata[True] __________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________ ERROR at setup of test_parse_flit_project_metadata[False] ___________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________ ERROR at setup of test_parse_flit_project_metadata[True] ___________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________ ERROR at setup of test_vcs_candidate_in_subdirectory[False] __________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________ ERROR at setup of test_vcs_candidate_in_subdirectory[True] __________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________ ERROR at setup of test_sdist_candidate_with_wheel_cache ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_cache_vcs_immutable_revision ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________________ ERROR at setup of test_cache_egg_info_sdist __________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________ ERROR at setup of test_invalidate_incompatible_wheel_link ___________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________________ ERROR at setup of test_legacy_pep345_tag_link _________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_ignore_invalid_py_version _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_find_candidates_from_find_links ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_parse_metadata_from_pep621 _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________ ERROR at setup of test_parse_metadata_with_dynamic_fields ___________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________ ERROR at setup of test_get_metadata_for_non_existing_path ___________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_session_sources_all_proxy _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_resolve_named_requirement _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________________ ERROR at setup of test_resolve_exclude ____________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________________ ERROR at setup of test_resolve_requires_python ________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_resolve_allow_prereleases _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______ ERROR at setup of test_resolve_prereleases_if_disabled_by_project _______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________________ ERROR at setup of test_resolve_with_extras __________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________ ERROR at setup of test_resolve_with_extras_and_excludes ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_resolve_local_artifacts[sdist] _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_resolve_local_artifacts[wheel] _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_resolve_vcs_and_local_requirements[False-/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/projects/demo] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_resolve_vcs_and_local_requirements[False-git+https://github.com/test-root/demo.git#egg=demo] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_resolve_vcs_and_local_requirements[True-/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/projects/demo] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_resolve_vcs_and_local_requirements[True-git+https://github.com/test-root/demo.git#egg=demo] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________ ERROR at setup of test_resolve_vcs_without_explicit_name ___________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________ ERROR at setup of test_resolve_local_and_named_requirement __________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_resolving_auto_avoid_conflicts _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________ ERROR at setup of test_resolve_conflicting_dependencies ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_resolve_conflicting_dependencies_with_overrides[2.1] __

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_resolve_conflicting_dependencies_with_overrides[>=1.8] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_resolve_conflicting_dependencies_with_overrides[==2.1] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_resolve_no_available_versions _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________ ERROR at setup of test_exclude_incompatible_requirements ___________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________ ERROR at setup of test_union_markers_from_different_parents __________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________ ERROR at setup of test_requirements_from_different_groups ___________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______ ERROR at setup of test_resolve_two_extras_from_the_same_package ________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________ ERROR at setup of test_resolve_package_with_dummy_upbound ___________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________ ERROR at setup of test_resolve_dependency_with_extra_marker __________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_resolve_circular_dependencies _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_resolve_candidates_to_install _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______ ERROR at setup of test_resolve_prefer_requirement_with_prereleases ______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_resolve_with_python_marker _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________ ERROR at setup of test_resolve_file_req_with_prerelease ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____ ERROR at setup of test_resolve_extra_requirements_no_break_constraints ____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___ ERROR at setup of test_resolve_extra_and_underlying_to_the_same_version ____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____ ERROR at setup of test_resolve_skip_candidate_with_invalid_metadata ______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_resolve_direct_minimal_versions ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________________ ERROR at setup of test_resolve_record_markers _________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________________ ERROR at setup of test_resolve_requirements __________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________________ ERROR at setup of test_resolve_vcs_requirement ________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_resolve_with_python_requires ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________ ERROR at setup of test_resolve_dependencies_with_nested_extras ________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________________ ERROR at setup of test_convert_pipfile ____________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_convert_requirements_file[True] ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________ ERROR at setup of test_convert_requirements_file[False] ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________ ERROR at setup of test_convert_requirements_file_without_name _________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________________ ERROR at setup of test_convert_poetry _____________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________________ ERROR at setup of test_convert_poetry_12 ___________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________________ ERROR at setup of test_convert_flit ______________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_convert_error_preserve_metadata ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_import_requirements_with_group _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_export_requirements_with_self _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________ ERROR at setup of test_export_requirements_with_editable_self _________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________________ ERROR at setup of test_keep_env_vars_in_source ________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_expand_env_vars_in_source _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________________ ERROR at setup of test_export_find_links ___________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_export_replace_project_root ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_convert_setup_py_project ________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____ ERROR at setup of test_convert_poetry_project_with_circular_dependency ____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_install_wheel_with_inconsistent_dist_info[PythonEnvironment] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_install_wheel_with_inconsistent_dist_info[PythonLocalEnvironment] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____ ERROR at setup of test_install_with_file_existing[PythonEnvironment] _____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__ ERROR at setup of test_install_with_file_existing[PythonLocalEnvironment] ___

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____ ERROR at setup of test_uninstall_commit_rollback[PythonEnvironment] ______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___ ERROR at setup of test_uninstall_commit_rollback[PythonLocalEnvironment] ___

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______ ERROR at setup of test_rollback_after_commit[PythonEnvironment] ________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____ ERROR at setup of test_rollback_after_commit[PythonLocalEnvironment] _____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_uninstall_with_console_scripts[PythonEnvironment-False] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_uninstall_with_console_scripts[PythonEnvironment-True] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_uninstall_with_console_scripts[PythonLocalEnvironment-False] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_uninstall_with_console_scripts[PythonLocalEnvironment-True] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__ ERROR at setup of test_install_wheel_with_cache[PythonEnvironment-symlink] __

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_install_wheel_with_cache[PythonEnvironment-hardlink] __

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___ ERROR at setup of test_install_wheel_with_cache[PythonEnvironment-None] ____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_install_wheel_with_cache[PythonLocalEnvironment-symlink] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_install_wheel_with_cache[PythonLocalEnvironment-hardlink] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_install_wheel_with_cache[PythonLocalEnvironment-None] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_can_install_wheel_with_cache_in_multiple_projects[PythonEnvironment-symlink] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_can_install_wheel_with_cache_in_multiple_projects[PythonEnvironment-hardlink] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_can_install_wheel_with_cache_in_multiple_projects[PythonEnvironment-None] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_can_install_wheel_with_cache_in_multiple_projects[PythonLocalEnvironment-symlink] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_can_install_wheel_with_cache_in_multiple_projects[PythonLocalEnvironment-hardlink] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_can_install_wheel_with_cache_in_multiple_projects[PythonLocalEnvironment-None] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___ ERROR at setup of test_url_requirement_is_not_cached[PythonEnvironment] ____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_url_requirement_is_not_cached[PythonLocalEnvironment] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______ ERROR at setup of test_editable_is_not_cached[PythonEnvironment] _______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____ ERROR at setup of test_editable_is_not_cached[PythonLocalEnvironment] _____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_install_wheel_with_data_scripts[PythonEnvironment-False] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_install_wheel_with_data_scripts[PythonEnvironment-True] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_install_wheel_with_data_scripts[PythonLocalEnvironment-False] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_install_wheel_with_data_scripts[PythonLocalEnvironment-True] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___ ERROR at setup of test_compress_file_list_for_rename[PythonEnvironment] ____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_compress_file_list_for_rename[PythonLocalEnvironment] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________________ ERROR at setup of test_actual_list_freeze ___________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________________ ERROR at setup of test_plugin_new_command ___________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________________ ERROR at setup of test_plugin_replace_command _________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________________ ERROR at setup of test_project_plugin_library _________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________ ERROR at setup of test_project_python_with_pyenv_support ___________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________________ ERROR at setup of test_project_config_items __________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_project_config_set_invalid_key _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_project_sources_overriding_pypi ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________ ERROR at setup of test_project_sources_env_var_expansion ___________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________________ ERROR at setup of test_project_use_venv ____________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________________ ERROR at setup of test_project_packages_path _________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_project_auto_detect_venv ________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________________ ERROR at setup of test_ignore_saved_python __________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________________ ERROR at setup of test_select_dependencies __________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_invalid_dependency_group ________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______________ ERROR at setup of test_set_non_exist_python_path _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________ ERROR at setup of test_create_venv_first_time[virtualenv] ___________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_create_venv_first_time[venv] ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________ ERROR at setup of test_create_venv_in_project[virtualenv-True] ________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______ ERROR at setup of test_create_venv_in_project[virtualenv-False] ________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________ ERROR at setup of test_create_venv_in_project[venv-True] ___________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________ ERROR at setup of test_create_venv_in_project[venv-False] ___________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________ ERROR at setup of test_find_interpreters_from_venv[virtualenv] ________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________ ERROR at setup of test_find_interpreters_from_venv[venv] ___________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__ ERROR at setup of test_find_interpreters_without_duplicate_relative_paths ___

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________________ ERROR at setup of test_iter_project_venvs ___________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________________ ERROR at setup of test_load_extra_sources ___________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________________ ERROR at setup of test_no_index_raise_error __________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________________ ERROR at setup of test_access_index_with_auth _________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_configured_source_overwriting _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________ ERROR at setup of test_invoke_pdm_adding_configured_args ___________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_quiet_mode[True-extra_args0] ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_quiet_mode[False-extra_args1] _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________ ERROR at setup of test_ignore_package_warning[foo-True] ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________ ERROR at setup of test_ignore_package_warning[bar-False] ___________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____________ ERROR at setup of test_ignore_package_warning[*-True] _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________ ERROR at setup of test_ignore_package_warning[f?o-True] ____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_filter_sources_with_config _______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________________ ERROR at setup of test_preserve_log_file ___________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__ ERROR at setup of test_find_interpreters_with_PDM_IGNORE_ACTIVE_VENV[True] __

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_find_interpreters_with_PDM_IGNORE_ACTIVE_VENV[False] __

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____ ERROR at setup of test_env_or_setting[PDM_VAR-var-settings0-from-env] _____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____ ERROR at setup of test_env_or_setting[pdm_var-var-settings1-from-env] _____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_env_or_setting[PDM_NOPE-var-settings2-from-settings] __

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____ ERROR at setup of test_env_or_setting[PDM_VAR-var-settings3-from-env] _____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ ERROR at setup of test_env_or_setting[PDM_NOPE-nested.var-settings4-from-settings] _

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____ ERROR at setup of test_env_or_setting[PDM_NOPE-noop-settings5-None] ______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________ ERROR at setup of test_env_setting_list[None-None-expected0] _________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________ ERROR at setup of test_env_setting_list[-None-expected1] ___________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________ ERROR at setup of test_env_setting_list[ -None-expected2] ___________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________ ERROR at setup of test_env_setting_list[None--expected3] ___________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________ ERROR at setup of test_env_setting_list[None- -expected4] ___________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______ ERROR at setup of test_env_setting_list[None-setting5-expected5] _______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_________ ERROR at setup of test_env_setting_list[var-None-expected6] __________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______ ERROR at setup of test_env_setting_list[val1,val2-None-expected7] _______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______ ERROR at setup of test_env_setting_list[val1, val2-None-expected8] ______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____ ERROR at setup of test_env_setting_list[val1, , , val2-None-expected9] ____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______ ERROR at setup of test_env_setting_list[None-val1,val2-expected10] ______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______ ERROR at setup of test_env_setting_list[None-setting11-expected11] ______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______ ERROR at setup of test_env_setting_list[None-setting12-expected12] ______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______ ERROR at setup of test_env_setting_list[None-setting13-expected13] ______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______ ERROR at setup of test_env_setting_list[None-setting14-expected14] ______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___ ERROR at setup of test_env_setting_list[val1,val2-setting15-expected15] ____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________________ ERROR at setup of test_project_best_match_max _________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
________________ ERROR at setup of test_project_best_match_min _________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
___________________ ERROR at setup of test_post_init_signal ____________________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_____________ ERROR at setup of test_post_lock_and_install_signals _____________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______ ERROR at setup of test_lock_and_install_signals_injection_with_add ______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____ ERROR at setup of test_lock_and_install_signals_injection_with_install ____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
__________ ERROR at setup of test_lock_signals_injection_with_update ___________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______ ERROR at setup of test_dependency_group_selection[args0-golden0] _______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______ ERROR at setup of test_dependency_group_selection[args1-golden1] _______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______ ERROR at setup of test_dependency_group_selection[args2-golden2] _______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______ ERROR at setup of test_dependency_group_selection[args3-golden3] _______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______ ERROR at setup of test_dependency_group_selection[args4-golden4] _______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______ ERROR at setup of test_dependency_group_selection[args5-golden5] _______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______ ERROR at setup of test_dependency_group_selection[args6-golden6] _______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_______ ERROR at setup of test_dependency_group_selection[args7-golden7] _______

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____ ERROR at setup of test_exclude_optional_groups_from_all[args0-golden0] ____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____ ERROR at setup of test_exclude_optional_groups_from_all[args1-golden1] ____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
____ ERROR at setup of test_exclude_optional_groups_from_all[args2-golden2] ____

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
______________ ERROR at setup of test_prod_should_not_be_with_dev ______________

build_env_wheels = [PosixPath('/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1...le-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_backend-2.1.4-py3-none-any.whl'), ...]
tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=<pluggy._tracing.TagTracerSub object at 0x7f340757bbb0>, _basetemp=PosixPath('/tmp/pytest-of-pbuilder1/pytest-0'), _retention_count=3, _retention_policy='all')

    @pytest.fixture(scope="session")
    def build_env(build_env_wheels: Iterable[Path], tmp_path_factory: pytest.TempPathFactory) -> Path:
        """
        A fixture build environment
    
        Args:
            build_env_wheels: a list of wheel to install in the environment
    
        Returns:
            The build environment temporary path
        """
        d = tmp_path_factory.mktemp("pdm-test-env")
        p = Core().create_project(d)
        env = PythonEnvironment(p, prefix=str(d), python=sys.executable)
        for wheel in build_env_wheels:
>           install_wheel(wheel, env)

pdm/pytest.py:333: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/installers/installers.py:193: in install_wheel
    with WheelFile.open(wheel) as source:
/usr/lib/python3.13/contextlib.py:141: in __enter__
    return next(self.gen)
/usr/lib/python3/dist-packages/installer/sources.py:162: in open
    with zipfile.ZipFile(path) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
mode = 'r', compression = 0, allowZip64 = True, compresslevel = None

    def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True, metadata_encoding=None):
        """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x',
        or append 'a'."""
        if mode not in ('r', 'w', 'x', 'a'):
            raise ValueError("ZipFile requires mode 'r', 'w', 'x', or 'a'")
    
        _check_compression(compression)
    
        self._allowZip64 = allowZip64
        self._didModify = False
        self.debug = 0  # Level of printing: 0 through 3
        self.NameToInfo = {}    # Find file info given name
        self.filelist = []      # List of ZipInfo instances for archive
        self.compression = compression  # Method of compression
        self.compresslevel = compresslevel
        self.mode = mode
        self.pwd = None
        self._comment = b''
        self._strict_timestamps = strict_timestamps
        self.metadata_encoding = metadata_encoding
    
        # Check that we don't try to write with nonconforming codecs
        if self.metadata_encoding and mode != 'r':
            raise ValueError(
                "metadata_encoding is only supported for reading files")
    
        # Check if we were passed a file-like object
        if isinstance(file, os.PathLike):
            file = os.fspath(file)
        if isinstance(file, str):
            # No, it's a filename
            self._filePassed = 0
            self.filename = file
            modeDict = {'r' : 'rb', 'w': 'w+b', 'x': 'x+b', 'a' : 'r+b',
                        'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'}
            filemode = modeDict[mode]
            while True:
                try:
>                   self.fp = io.open(file, filemode)
E                   FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
=================================== FAILURES ===================================
_____________________________ test_search_package ______________________________

pdm = <function pdm.<locals>.caller at 0x7f34060f56c0>
tmp_path = PosixPath('/tmp/pytest-of-pbuilder1/pytest-0/test_search_package0')

    @pytest.mark.network
    def test_search_package(pdm, tmp_path):
        with cd(tmp_path):
            result = pdm(["search", "requests"])
>       assert result.exit_code == 0
E       assert 1 == 0
E        +  where 1 = RunResult(exit_code=1, stdout='', stderr="[ConnectError]: [Errno 111] Connection refused\nWARNING: Add '-v' to see the detailed traceback\n", exception=None).exit_code

tests/cli/test_others.py:133: AssertionError
------------------------------ Captured log call -------------------------------
DEBUG    unearth.auth:auth.py:254 Found index url https://pypi.org/simple/
__________________________ test_show_package_on_pypi ___________________________

pdm = <function pdm.<locals>.caller at 0x7f3405b52160>

    @pytest.mark.network
    def test_show_package_on_pypi(pdm):
        result = pdm(["show", "ipython"])
>       assert result.exit_code == 0
E       assert 1 == 0
E        +  where 1 = RunResult(exit_code=1, stdout='', stderr="INFO: __pypackages__ is detected, using the PEP 582 mode\n[ConnectError]: [Errno 111] Connection refused\nWARNING: Add '-v' to see the detailed traceback\n", exception=None).exit_code

tests/cli/test_others.py:142: AssertionError
------------------------------ Captured log call -------------------------------
DEBUG    unearth.collector:collector.py:162 Collecting links from https://pypi.org/simple/ipython/
DEBUG    unearth.evaluator:evaluator.py:279 Skipping link <Link https://pypi.org/simple/ipython/ (from None)>: Not a file: 
DEBUG    unearth.auth:auth.py:254 Found index url https://pypi.org/simple/
_________ 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:21: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/cli/commands/publish/package.py:82: in from_filename
    metadata = cls.read_metadata_from_wheel(filename)
pdm/cli/commands/publish/package.py:137: in read_metadata_from_wheel
    with zipfile.ZipFile(filename, allowZip64=True) as zip:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: 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:21: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/cli/commands/publish/package.py:92: in from_filename
    metadata = cls.read_metadata_from_tar(filename)
pdm/cli/commands/publish/package.py:109: in read_metadata_from_tar
    with tarfile.open(filename, mode) as tar:
/usr/lib/python3.13/tarfile.py:1878: in open
    return func(name, filemode, fileobj, **kwargs)
/usr/lib/python3.13/tarfile.py:1926: in gzopen
    fileobj = GzipFile(name, mode + "b", compresslevel, fileobj)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <gzip on 0x7f3405b75f90>
filename = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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 optional mtime argument is the timestamp requested by gzip. The time
        is in Unix format, i.e., seconds since 00:00:00 UTC, January 1, 1970.
        If mtime is omitted or None, the current time is used. Use mtime = 0
        to generate a compressed stream that does not depend on creation time.
    
        """
    
        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'
    
        try:
            if fileobj is None:
>               fileobj = self.myfileobj = builtins.open(filename, mode or 'rb')
E               FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/demo-0.0.1.tar.gz'

/usr/lib/python3.13/gzip.py:203: 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:21: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/cli/commands/publish/package.py:89: in from_filename
    metadata = cls.read_metadata_from_zip(filename)
pdm/cli/commands/publish/package.py:124: in read_metadata_from_zip
    with zipfile.ZipFile(filename, allowZip64=True) as zip:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/demo-0.0.1.zip'

/usr/lib/python3.13/zipfile/__init__.py:1367: 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:38: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/cli/commands/publish/package.py:92: in from_filename
    metadata = cls.read_metadata_from_tar(filename)
pdm/cli/commands/publish/package.py:109: in read_metadata_from_tar
    with tarfile.open(filename, mode) as tar:
/usr/lib/python3.13/tarfile.py:1878: in open
    return func(name, filemode, fileobj, **kwargs)
/usr/lib/python3.13/tarfile.py:1926: in gzopen
    fileobj = GzipFile(name, mode + "b", compresslevel, fileobj)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <gzip on 0x7f3405f5b7f0>
filename = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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 optional mtime argument is the timestamp requested by gzip. The time
        is in Unix format, i.e., seconds since 00:00:00 UTC, January 1, 1970.
        If mtime is omitted or None, the current time is used. Use mtime = 0
        to generate a compressed stream that does not depend on creation time.
    
        """
    
        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'
    
        try:
            if fileobj is None:
>               fileobj = self.myfileobj = builtins.open(filename, mode or 'rb')
E               FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/caj2pdf-restructured-0.1.0a6.tar.gz'

/usr/lib/python3.13/gzip.py:203: 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:46: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/cli/commands/publish/package.py:82: in from_filename
    metadata = cls.read_metadata_from_wheel(filename)
pdm/cli/commands/publish/package.py:137: in read_metadata_from_wheel
    with zipfile.ZipFile(filename, allowZip64=True) as zip:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: 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:53: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/cli/commands/publish/package.py:82: in from_filename
    metadata = cls.read_metadata_from_wheel(filename)
pdm/cli/commands/publish/package.py:137: in read_metadata_from_wheel
    with zipfile.ZipFile(filename, allowZip64=True) as zip:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <zipfile.ZipFile [closed]>
file = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl'

/usr/lib/python3.13/zipfile/__init__.py:1367: FileNotFoundError
_ test_convert_req_dict_to_req_line[/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl-demo @ file:///build/reproducible-path/pdm-2.20.1%2Bds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl] _

req = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl'
result = 'demo @ file:///build/reproducible-path/pdm-2.20.1%2Bds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl'

    @pytest.mark.filterwarnings("ignore::FutureWarning")
    @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:85: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

line = '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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:
            # Special handling for hatch local references:
            # https://hatch.pypa.io/latest/config/dependency/#local
            # We replace the {root.uri} temporarily with a dummy URL header
            # to make it pass through the packaging.requirement parser
            # and then revert it.
            root_url = path_to_url(Path().as_posix())
            replaced = "{root:uri}" in line
            if replaced:
                line = line.replace("{root:uri}", root_url)
            try:
                pkg_req = parse_as_pkg_requirement(line)
            except InvalidRequirement as e:
                m = _file_req_re.match(line)
                if m is None:
                    raise RequirementError(f"{line}: {e}") from None
                args = m.groupdict()
                if not line.startswith(".") and not args["url"] and args["path"] and not os.path.exists(args["path"]):
>                   raise RequirementError(f"{line}: {e}") from None
E                   pdm.exceptions.RequirementError: /build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl: Expected package name at the start of dependency specifier
E                       /build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl
E                       ^

pdm/models/requirements.py:510: RequirementError
_________________________ test_basic_integration[3.13] _________________________

python_version = '3.13', core = <pdm.core.Core object at 0x7f34047c04d0>
tmp_path = PosixPath('/tmp/pytest-of-pbuilder1/pytest-0/test_basic_integration_3_13_3')
pdm = <function pdm.<locals>.caller at 0x7f3407e5a660>

    @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, pdm):
        """An e2e test case to ensure PDM works on all supported Python versions"""
        project = core.create_project(tmp_path)
        project.pyproject.set_data(PYPROJECT)
        project.root.joinpath("foo.py").write_text("import django\n")
        project._environment = None
        pdm(["use", "-f", python_version], obj=project, strict=True, cleanup=False)
>       pdm(["add", "django", "-v"], obj=project, strict=True, cleanup=False)

tests/test_integration.py:34: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pdm/core.py:267: in main
    raise cast(Exception, err).with_traceback(traceback) from None
pdm/core.py:262: in main
    self.handle(project, options)
pdm/core.py:194: in handle
    command.handle(project, options)
pdm/cli/commands/add.py:71: in handle
    self.do_add(
pdm/cli/commands/add.py:155: in do_add
    resolved = do_lock(
pdm/cli/actions.py:133: in do_lock
    resolved, collected_groups = resolver.resolve()
pdm/resolver/resolvelib.py:51: in resolve
    mapping = self._do_resolve()
pdm/resolver/resolvelib.py:89: in _do_resolve
    result = resolver.resolve(requirements, max_rounds)
/usr/lib/python3/dist-packages/resolvelib/resolvers/resolution.py:515: in resolve
    state = resolution.resolve(requirements, max_rounds=max_rounds)
/usr/lib/python3/dist-packages/resolvelib/resolvers/resolution.py:388: in resolve
    self._add_to_criteria(self.state.criteria, r, parent=None)
/usr/lib/python3/dist-packages/resolvelib/resolvers/resolution.py:141: in _add_to_criteria
    if not criterion.candidates:
/usr/lib/python3/dist-packages/resolvelib/structs.py:169: in __bool__
    next(iter(self))
pdm/resolver/providers.py:350: in matches_gen
    yield from super_find()
pdm/resolver/providers.py:221: in matches_gen
    candidates = self._find_candidates(reqs[0])
pdm/resolver/providers.py:191: in _find_candidates
    return self.repository.find_candidates(
pdm/models/repositories/base.py:178: in find_candidates
    cans = LazySequence(self._find_candidates(requirement, minimal_version=minimal_version))
pdm/models/repositories/pypi.py:66: in _find_candidates
    for c in finder.find_all_packages(req_name, allow_yanked=requirement.is_pinned)
/usr/lib/python3/dist-packages/unearth/finder.py:325: in find_all_packages
    self._find_packages(package_name, allow_yanked), hashes=hashes or {}
/usr/lib/python3/dist-packages/unearth/finder.py:305: in _find_packages
    return sorted(all_packages, key=self._sort_key, reverse=True)
/usr/lib/python3/dist-packages/unearth/collector.py:187: in collect_links_from_location
    yield from _collect_links_from_index(session, location)
/usr/lib/python3/dist-packages/unearth/collector.py:210: in _collect_links_from_index
    page = fetch_page(session, location, headers)
/usr/lib/python3/dist-packages/unearth/collector.py:195: in fetch_page
    resp = _get_html_response(session, location, headers)
/usr/lib/python3/dist-packages/unearth/collector.py:234: in _get_html_response
    resp = session.get(
/usr/lib/python3/dist-packages/httpx/_client.py:1053: in get
    return self.request(
/usr/lib/python3/dist-packages/httpx/_client.py:825: in request
    return self.send(request, auth=auth, follow_redirects=follow_redirects)
/usr/lib/python3/dist-packages/httpx/_client.py:914: in send
    response = self._send_handling_auth(
/usr/lib/python3/dist-packages/httpx/_client.py:942: in _send_handling_auth
    response = self._send_handling_redirects(
/usr/lib/python3/dist-packages/httpx/_client.py:979: in _send_handling_redirects
    response = self._send_single_request(request)
/usr/lib/python3/dist-packages/httpx/_client.py:1014: in _send_single_request
    response = transport.handle_request(request)
/usr/lib/python3/dist-packages/hishel/_sync/_transports.py:213: in handle_request
    regular_response = self._transport.handle_request(request)
/usr/lib/python3/dist-packages/httpx/_transports/default.py:249: in handle_request
    with map_httpcore_exceptions():
/usr/lib/python3.13/contextlib.py:162: in __exit__
    self.gen.throw(value)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    @contextlib.contextmanager
    def map_httpcore_exceptions() -> typing.Iterator[None]:
        global HTTPCORE_EXC_MAP
        if len(HTTPCORE_EXC_MAP) == 0:
            HTTPCORE_EXC_MAP = _load_httpcore_exceptions()
        try:
            yield
        except Exception as exc:
            mapped_exc = None
    
            for from_exc, to_exc in HTTPCORE_EXC_MAP.items():
                if not isinstance(exc, from_exc):
                    continue
                # We want to map to the most specific exception we can find.
                # Eg if `exc` is an `httpcore.ReadTimeout`, we want to map to
                # `httpx.ReadTimeout`, not just `httpx.TimeoutException`.
                if mapped_exc is None or issubclass(to_exc, mapped_exc):
                    mapped_exc = to_exc
    
            if mapped_exc is None:  # pragma: no cover
                raise
    
            message = str(exc)
>           raise mapped_exc(message) from exc
E           httpx.ConnectError: [Errno 111] Connection refused

/usr/lib/python3/dist-packages/httpx/_transports/default.py:118: ConnectError
------------------------------ Captured log call -------------------------------
INFO     pdm.termui:reporters.py:23 ======== Start resolving requirements ========
INFO     pdm.termui:reporters.py:117   django
INFO     pdm.termui:reporters.py:36   Adding requirement python>=3.7
INFO     pdm.termui:reporters.py:36   Adding requirement django
DEBUG    unearth.collector:collector.py:162 Collecting links from https://pypi.org/simple/django/
DEBUG    unearth.evaluator:evaluator.py:279 Skipping link <Link https://pypi.org/simple/django/ (from None)>: Not a file: 
DEBUG    unearth.auth:auth.py:254 Found index url https://pypi.org/simple/
------------------------------ Captured log call -------------------------------
INFO     pdm.termui:reporters.py:23 ======== Start resolving requirements ========
INFO     pdm.termui:reporters.py:117   django
INFO     pdm.termui:reporters.py:36   Adding requirement python>=3.7
INFO     pdm.termui:reporters.py:36   Adding requirement django
DEBUG    unearth.collector:collector.py:162 Collecting links from https://pypi.org/simple/django/
DEBUG    unearth.evaluator:evaluator.py:279 Skipping link <Link https://pypi.org/simple/django/ (from None)>: Not a file: 
DEBUG    unearth.auth:auth.py:254 Found index url https://pypi.org/simple/
------------------------------ Captured log call -------------------------------
INFO     pdm.termui:reporters.py:23 ======== Start resolving requirements ========
INFO     pdm.termui:reporters.py:117   django
INFO     pdm.termui:reporters.py:36   Adding requirement python>=3.7
INFO     pdm.termui:reporters.py:36   Adding requirement django
DEBUG    unearth.collector:collector.py:162 Collecting links from https://pypi.org/simple/django/
DEBUG    unearth.evaluator:evaluator.py:279 Skipping link <Link https://pypi.org/simple/django/ (from None)>: Not a file: 
DEBUG    unearth.auth:auth.py:254 Found index url https://pypi.org/simple/
------------------------------ Captured log call -------------------------------
INFO     pdm.termui:reporters.py:23 ======== Start resolving requirements ========
INFO     pdm.termui:reporters.py:117   django
INFO     pdm.termui:reporters.py:36   Adding requirement python>=3.7
INFO     pdm.termui:reporters.py:36   Adding requirement django
DEBUG    unearth.collector:collector.py:162 Collecting links from https://pypi.org/simple/django/
DEBUG    unearth.evaluator:evaluator.py:279 Skipping link <Link https://pypi.org/simple/django/ (from None)>: Not a file: 
DEBUG    unearth.auth:auth.py:254 Found index url https://pypi.org/simple/
=========================== rerun test summary info ============================
RERUN tests/test_integration.py::test_basic_integration[3.13]
RERUN tests/test_integration.py::test_basic_integration[3.13]
RERUN tests/test_integration.py::test_basic_integration[3.13]
=========================== short test summary info ============================
SKIPPED [1] tests/test_utils.py:171: Windows test
ERROR tests/cli/test_add.py::test_add_package[False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_add.py::test_add_package_no_lock[False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_add.py::test_add_package_no_lock[True] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_add.py::test_add_package_with_local_version - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_add.py::test_add_group_to_lockfile - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_add.py::test_add_group_to_lockfile_without_package - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_add.py::test_add_update_reuse_installed - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_add.py::test_add_update_reuse_installed_config - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_add.py::test_add_disable_cache - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_add.py::test_add_dependency_with_direct_minimal_versions - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_add.py::test_add_group_with_normalized_name - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_build.py::test_build_with_no_isolation - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_cache.py::test_hash_cache[file:///build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/demo-0.0.1.tar.gz-sha256:d57bf5e3b8723e4fc68275159dcc4ca983d86d4c84220a4d715d491401f27db2] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_config.py::test_hide_password_in_output_repository - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_config.py::test_hide_password_in_output_pypi - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_config.py::test_config_password_save_into_keyring - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_config.py::test_keyring_operation_error_disables_itself - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_fix.py::test_fix_non_existing_problem - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_fix.py::test_fix_individual_problem - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_fix.py::test_show_fix_command - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_fix.py::test_show_fix_command_global_project - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_fix.py::test_fix_project_config - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_init.py::test_init_with_backend_default_library - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_init.py::test_init_with_backend_default_library_non_interactive - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_init.py::test_init_with_license_non_interactive - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_init.py::test_init_with_project_version_non_interactive - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_sync_production_packages[prod_option0] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_sync_production_packages[prod_option1] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_install_frozen_lockfile - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_install_no_lock_deprecated - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_sync_with_clean_unselected_option - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_install_monorepo_with_rel_paths - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_install_retry - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_install_fail_fast - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_install_groups_not_in_lockfile - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_install_locked_groups - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_install_groups_and_lock - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_install_requirement_with_extras - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_fix_package_type_and_update - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_install_all_with_excluded_groups[-G :all --without tz,ssl] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_install_all_with_excluded_groups[-G :all --without tz --without ssl] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_install_all_with_excluded_groups[--with all --without tz,ssl] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_install_all_with_excluded_groups[--with all --without tz --without ssl] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_install_all_with_excluded_groups[--without tz --without ssl] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_install_all_with_excluded_groups[--without tz,ssl] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_sync_all_with_excluded_groups[-G :all --without tz,ssl] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_sync_all_with_excluded_groups[-G :all --without tz --without ssl] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_sync_all_with_excluded_groups[--with all --without tz,ssl] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_sync_all_with_excluded_groups[--with all --without tz --without ssl] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_sync_all_with_excluded_groups[--without tz --without ssl] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_sync_all_with_excluded_groups[--without tz,ssl] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_excluded_groups_ignored_if_prod_passed - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_excluded_groups_ignored_if_dev_passed - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_install_from_multi_target_lock[groups0-False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_install_from_multi_target_lock[groups0-True] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_install_from_multi_target_lock[None-False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_install_from_multi_target_lock[None-True] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_install_from_lock_with_higher_version - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_install_from_lock_with_lower_version - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_install_from_lock_with_incompatible_targets[3.11-==3.11-macos] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_install_from_lock_with_incompatible_targets[3.11-==3.10-manylinux_2_17_x86_64] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_install_from_lock_with_incompatible_targets[3.11-==3.11-manylinux_2_17_aarch64] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_install_from_lock_with_incompatible_targets[>=3.11-==3.11-macos] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_install_from_lock_with_incompatible_targets[>=3.11-==3.10-manylinux_2_17_x86_64] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_install_from_lock_with_incompatible_targets[>=3.11-==3.11-manylinux_2_17_aarch64] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_uv_install - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_install.py::test_uv_install_pep582_not_allowed - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_list.py::test_list_json_with_pattern - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_list.py::test_list_reverse_json_with_pattern - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_list.py::test_list_with_pattern - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_list.py::test_list_packages_in_given_venv - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lock_refresh[args0] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lock_refresh[args1] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lock_selected_groups - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lock_self_referencing_dev_groups[True] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lock_self_referencing_dev_groups[False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lock_self_referencing_optional_groups - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lock_include_groups_not_allowed - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lock_optional_referencing_dev_group_not_allowed - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lock_multiple_platform_wheels - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lock_specific_platform_wheels[linux] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lock_specific_platform_wheels[macos] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lock_specific_platform_wheels[windows] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_apply_lock_strategy_changes - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_apply_lock_strategy_changes_invalid[strategy0] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_apply_lock_strategy_changes_invalid[strategy1] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lock_direct_minimal_versions - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lock_direct_minimal_versions_real[args0] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lock_direct_minimal_versions_real[args1] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lockfile_compatibility[4.1.0-2] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lockfile_compatibility[4.1.1-1] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lockfile_compatibility[4.1.2-3] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lockfile_compatibility[4.2-0] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lockfile_compatibility[3.0-0] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lockfile_compatibility[4.0.1-2] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lock_default_inherit_metadata - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lock_inherit_metadata_strategy - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lock_exclude_newer - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lock_all_with_excluded_groups[-G :all --without tz,ssl] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lock_all_with_excluded_groups[-G :all --without tz --without ssl] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lock_all_with_excluded_groups[--with all --without tz,ssl] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lock_all_with_excluded_groups[--with all --without tz --without ssl] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lock_all_with_excluded_groups[--without tz --without ssl] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lock_all_with_excluded_groups[--without tz,ssl] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_forbidden_lock_target_options[args0] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_forbidden_lock_target_options[args1] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_forbidden_lock_target_options[args2] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_forbidden_lock_target_options[args3] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lock_for_multiple_targets[False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lock_for_multiple_targets[True] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lock_with_override_file[/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/constraints.txt] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_lock.py::test_lock_with_override_file[file:///build/reproducible-path/pdm-2.20.1%2Bds1/.pybuild/cpython3_3.13/build/tests/fixtures/constraints.txt] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_others.py::test_info_command_json - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_others.py::test_info_with_multiple_venvs - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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.toml] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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[extra_opt0] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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[extra_opt1] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_others.py::test_export_with_platform_markers - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_others.py::test_export_with_vcs_deps - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_outdated.py::test_outdated - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_publish.py::test_repository_get_credentials_from_keyring - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_python.py::test_install_python - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_python.py::test_install_python_best_match - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_python.py::test_install_python_min_match - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_python.py::test_use_auto_install_missing - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_python.py::test_use_auto_install_pick_latest - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_python.py::test_use_no_auto_install - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_python.py::test_use_auto_install_strategy_max - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_python.py::test_use_auto_install_strategy_min - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_python.py::test_link_python - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_python.py::test_link_python_invalid_interpreter - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_remove.py::test_remove_package_no_lock[False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_remove.py::test_remove_package_no_lock[True] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_remove.py::test_remove_no_package - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_remove.py::test_remove_group_not_in_lockfile - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_script_with_relative_path - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_non_existing_local_script - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_shell_script_with_args_placeholder[with-args] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_shell_script_with_args_placeholder[without-args] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_shell_script_with_args_placeholder_with_default[with-args] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_shell_script_with_args_placeholder_with_default[with-default] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_script_with_args_placeholder[as-str-with-args] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_script_with_args_placeholder[as-str-without-args] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_script_with_args_placeholder[as-list-with-args] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_script_with_args_placeholder[as-list-without-args] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_script_with_args_placeholder_with_default[as-str-with-args] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_script_with_args_placeholder_with_default[as-str-default] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_script_with_args_placeholder_with_default[as-list-with-args] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_script_with_args_placeholder_with_default[as-list-default] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_shell_script_with_pdm_placeholder - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_expand_env_vars_from_config - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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_hide_internals - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_json_list_of_scripts - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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[True] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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[False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_composite_keep_going_on_failure - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_composite_fails_on_recursive_script - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_composite_only_pass_parameters_to_subtasks_with_args[with-args] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_composite_only_pass_parameters_to_subtasks_with_args[without-args] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_composite_only_pass_parameters_to_subtasks_with_args_with_default[with-args] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_composite_only_pass_parameters_to_subtasks_with_args_with_default[default] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_resolve_env_vars_in_dotfile - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_empty_positional_args_display_help - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_script_changing_working_dir - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_run.py::test_run_script_with_inline_metadata - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_template.py::test_non_pyproject_template_disallowed - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_template.py::test_module_project_template - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_template.py::test_module_project_template_generate_application - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_template.py::test_package_project_template - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_update.py::test_update_no_lock - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_update.py::test_update_transitive - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_update.py::test_update_transitive_nonexistant_dependencies - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_update.py::test_update_package_wrong_group - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_update.py::test_update_transitive_non_transitive_dependencies - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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_config - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_update.py::test_update_groups_in_lockfile - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_update.py::test_update_group_not_in_lockfile - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_use.py::test_use_venv_python - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_use.py::test_use_auto_install_and_no_auto_install_are_mutual_exclusive - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_venv.py::test_venv_create_other_location - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_venv.py::test_venv_show_path - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_venv.py::test_venv_activate_no_shell[virtualenv] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/cli/test_venv.py::test_venv_activate_no_shell[venv] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_backends.py::test_project_backend[pdm-backend] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_backends.py::test_project_backend[setuptools] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_backends.py::test_project_backend[flit-core] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_backends.py::test_project_backend[hatchling] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_candidates.py::test_parse_artifact_metadata[/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/demo-0.0.1.tar.gz] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_candidates.py::test_parse_artifact_metadata[/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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 ./tests/fixtures/projects/demo] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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 file:///${PROJECT_ROOT}/tests/fixtures/projects/demo#egg=demo] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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 file:///${PROJECT_ROOT}/tests/fixtures/projects/demo-#-with-hash#egg=demo] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_candidates.py::test_get_metadata_for_non_existing_path - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/models/test_session.py::test_session_sources_all_proxy - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_resolve_exclude - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_resolve_prereleases_if_disabled_by_project - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_resolve_with_extras_and_excludes - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/projects/demo] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/projects/demo] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_resolve_skip_candidate_with_invalid_metadata - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_resolve_direct_minimal_versions - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_resolve.py::test_resolve_record_markers - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_uv_resolver.py::test_resolve_requirements - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_uv_resolver.py::test_resolve_vcs_requirement - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_uv_resolver.py::test_resolve_with_python_requires - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/resolver/test_uv_resolver.py::test_resolve_dependencies_with_nested_extras - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_formats.py::test_convert_pipfile - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_formats.py::test_convert_poetry_12 - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_formats.py::test_convert_error_preserve_metadata - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_formats.py::test_export_requirements_with_self - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_formats.py::test_export_requirements_with_editable_self - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_formats.py::test_keep_env_vars_in_source - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_formats.py::test_expand_env_vars_in_source - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_formats.py::test_export_find_links - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_formats.py::test_convert_poetry_project_with_circular_dependency - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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[PythonEnvironment] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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[PythonLocalEnvironment] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_install_with_file_existing[PythonEnvironment] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_install_with_file_existing[PythonLocalEnvironment] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_uninstall_commit_rollback[PythonEnvironment] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_uninstall_commit_rollback[PythonLocalEnvironment] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_rollback_after_commit[PythonEnvironment] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_rollback_after_commit[PythonLocalEnvironment] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_uninstall_with_console_scripts[PythonEnvironment-False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_uninstall_with_console_scripts[PythonEnvironment-True] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_uninstall_with_console_scripts[PythonLocalEnvironment-False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_uninstall_with_console_scripts[PythonLocalEnvironment-True] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_install_wheel_with_cache[PythonEnvironment-symlink] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_install_wheel_with_cache[PythonEnvironment-hardlink] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_install_wheel_with_cache[PythonEnvironment-None] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_install_wheel_with_cache[PythonLocalEnvironment-symlink] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_install_wheel_with_cache[PythonLocalEnvironment-hardlink] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_install_wheel_with_cache[PythonLocalEnvironment-None] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_can_install_wheel_with_cache_in_multiple_projects[PythonEnvironment-symlink] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_can_install_wheel_with_cache_in_multiple_projects[PythonEnvironment-hardlink] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_can_install_wheel_with_cache_in_multiple_projects[PythonEnvironment-None] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_can_install_wheel_with_cache_in_multiple_projects[PythonLocalEnvironment-symlink] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_can_install_wheel_with_cache_in_multiple_projects[PythonLocalEnvironment-hardlink] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_can_install_wheel_with_cache_in_multiple_projects[PythonLocalEnvironment-None] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_url_requirement_is_not_cached[PythonEnvironment] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_url_requirement_is_not_cached[PythonLocalEnvironment] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_editable_is_not_cached[PythonEnvironment] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_editable_is_not_cached[PythonLocalEnvironment] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_install_wheel_with_data_scripts[PythonEnvironment-False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_install_wheel_with_data_scripts[PythonEnvironment-True] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_install_wheel_with_data_scripts[PythonLocalEnvironment-False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_install_wheel_with_data_scripts[PythonLocalEnvironment-True] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_compress_file_list_for_rename[PythonEnvironment] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_installer.py::test_compress_file_list_for_rename[PythonLocalEnvironment] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_plugin.py::test_project_plugin_library - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_project_sources_overriding_pypi - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_invalid_dependency_group - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_find_interpreters_without_duplicate_relative_paths - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_load_extra_sources - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_no_index_raise_error - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_access_index_with_auth - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_configured_source_overwriting - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_invoke_pdm_adding_configured_args - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_quiet_mode[True-extra_args0] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_quiet_mode[False-extra_args1] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_ignore_package_warning[foo-True] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_ignore_package_warning[bar-False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_ignore_package_warning[*-True] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_ignore_package_warning[f?o-True] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_filter_sources_with_config - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_preserve_log_file - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_find_interpreters_with_PDM_IGNORE_ACTIVE_VENV[True] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_find_interpreters_with_PDM_IGNORE_ACTIVE_VENV[False] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_env_or_setting[PDM_VAR-var-settings0-from-env] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_env_or_setting[pdm_var-var-settings1-from-env] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_env_or_setting[PDM_NOPE-var-settings2-from-settings] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_env_or_setting[PDM_VAR-var-settings3-from-env] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_env_or_setting[PDM_NOPE-nested.var-settings4-from-settings] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_env_or_setting[PDM_NOPE-noop-settings5-None] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_env_setting_list[None-None-expected0] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_env_setting_list[-None-expected1] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_env_setting_list[ -None-expected2] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_env_setting_list[None--expected3] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_env_setting_list[None- -expected4] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_env_setting_list[None-setting5-expected5] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_env_setting_list[var-None-expected6] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_env_setting_list[val1,val2-None-expected7] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_env_setting_list[val1, val2-None-expected8] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_env_setting_list[val1, , , val2-None-expected9] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_env_setting_list[None-val1,val2-expected10] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_env_setting_list[None-setting11-expected11] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_env_setting_list[None-setting12-expected12] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_env_setting_list[None-setting13-expected13] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_env_setting_list[None-setting14-expected14] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_env_setting_list[val1,val2-setting15-expected15] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_project_best_match_max - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_project.py::test_project_best_match_min - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_signals.py::test_lock_and_install_signals_injection_with_add - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_signals.py::test_lock_and_install_signals_injection_with_install - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_signals.py::test_lock_signals_injection_with_update - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_utils.py::test_exclude_optional_groups_from_all[args0-golden0] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_utils.py::test_exclude_optional_groups_from_all[args1-golden1] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
ERROR tests/test_utils.py::test_exclude_optional_groups_from_all[args2-golden2] - FileNotFoundError: [Errno 2] No such file or directory: '/build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/pdm_pep517-1.0.0-py3-none-any.whl'
FAILED tests/cli/test_others.py::test_search_package - assert 1 == 0
 +  where 1 = RunResult(exit_code=1, stdout='', stderr="[ConnectError]: [Errno 111] Connection refused\nWARNING: Add '-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="INFO: __pypackages__ is detected, using the PEP 582 mode\n[ConnectError]: [Errno 111] Connection refused\nWARNING: Add '-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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/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/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl-demo @ file:///build/reproducible-path/pdm-2.20.1%2Bds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl] - pdm.exceptions.RequirementError: /build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl: Expected package name at the start of dependency specifier
    /build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build/tests/fixtures/artifacts/demo-0.0.1-py2.py3-none-any.whl
    ^
FAILED tests/test_integration.py::test_basic_integration[3.13] - httpx.ConnectError: [Errno 111] Connection refused
== 10 failed, 252 passed, 1 skipped, 702 errors, 3 rerun in 100.42s (0:01:40) ==
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /build/reproducible-path/pdm-2.20.1+ds1/.pybuild/cpython3_3.13/build; python3.13 -m pytest tests
	rm -fr -- /tmp/dh-xdg-rundir-8FbVA3mr
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.13 returned exit code 13
make[1]: [debian/rules:16: override_dh_auto_test] Error 25 (ignored)
make[1]: Leaving directory '/build/reproducible-path/pdm-2.20.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/reproducible-path/pdm-2.20.1\+ds1/debian/python3-pdm
	pybuild --install -i python{version} -p 3.13 --dest-dir=/build/reproducible-path/pdm-2.20.1\+ds1/debian/python3-pdm
I: pybuild plugin_pyproject:178: Copying package built for python3.13 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/reproducible-path/pdm-2.20.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/reproducible-path/pdm-2.20.1+ds1'
   dh_python3 -O--buildsystem=pybuild
D: dh_python3 dh_python3:180: version: 6.20250308
D: dh_python3 dh_python3:181: argv: ['/usr/bin/dh_python3', '-O--buildsystem=pybuild']
D: dh_python3 dh_python3:182: 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:183: supported Python versions: 3.13 (default=3.13)
D: dh_python3 debhelper:174: source=pdm, binary packages=['python3-pdm']
D: dh_python3 dh_python3:205: processing package python3-pdm...
D: dh_python3 fs:50: moving files from debian/python3-pdm/usr/lib/python3.13/dist-packages to debian/python3-pdm/usr/lib/python3/dist-packages/
D: dh_python3 fs:249: removing dist-packages/.pytest_cache
D: dh_python3 fs:254: removing dist-packages/.pdm-python
D: dh_python3 fs:179: Writing INSTALLER in debian/python3-pdm/usr/lib/python3/dist-packages/pdm-2.20.1.dist-info
D: dh_python3 fs:190: Deleting RECORD in debian/python3-pdm/usr/lib/python3/dist-packages/pdm-2.20.1.dist-info
D: dh_python3 fs:338: package python3-pdm details = {'requires.txt': set(), 'egg-info': set(), 'dist-info': {'debian/python3-pdm/usr/lib/python3/dist-packages/pdm-2.20.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:103: generating dependencies for package python3-pdm
D: dh_python3 pydist:175: trying to find dependency for blinker (python=None)
D: dh_python3 pydist:209: dependency: module seems to be installed
D: dh_python3 pydist:284: dependency: included in build-deps
D: dh_python3 pydist:175: trying to find dependency for packaging!=22.0,>=20.9 (python=None)
D: dh_python3 pydist:209: dependency: module seems to be installed
D: dh_python3 pydist:284: dependency: included in build-deps
D: dh_python3 pydist:175: trying to find dependency for platformdirs (python=None)
D: dh_python3 pydist:209: dependency: module seems to be installed
D: dh_python3 pydist:284: dependency: included in build-deps
D: dh_python3 pydist:175: trying to find dependency for rich>=12.3.0 (python=None)
D: dh_python3 pydist:209: dependency: module seems to be installed
D: dh_python3 pydist:284: dependency: included in build-deps
D: dh_python3 pydist:175: trying to find dependency for virtualenv>=20 (python=None)
D: dh_python3 pydist:209: dependency: module seems to be installed
D: dh_python3 pydist:284: dependency: included in build-deps
D: dh_python3 pydist:175: trying to find dependency for pyproject-hooks (python=None)
D: dh_python3 pydist:209: dependency: module seems to be installed
D: dh_python3 pydist:284: dependency: included in build-deps
D: dh_python3 pydist:175: trying to find dependency for unearth>=0.17.0 (python=None)
D: dh_python3 pydist:209: dependency: module seems to be installed
D: dh_python3 pydist:277: dependency: included in build-deps with limits 
D: dh_python3 pydist:175: trying to find dependency for dep-logic>=0.4.4 (python=None)
D: dh_python3 pydist:209: dependency: module seems to be installed
D: dh_python3 pydist:284: dependency: included in build-deps
D: dh_python3 pydist:175: trying to find dependency for findpython<1.0.0a0,>=0.6.0 (python=None)
D: dh_python3 pydist:209: dependency: module seems to be installed
D: dh_python3 pydist:284: dependency: included in build-deps
D: dh_python3 pydist:175: trying to find dependency for tomlkit<1,>=0.11.1 (python=None)
D: dh_python3 pydist:209: dependency: module seems to be installed
D: dh_python3 pydist:284: dependency: included in build-deps
D: dh_python3 pydist:175: trying to find dependency for shellingham>=1.3.2 (python=None)
D: dh_python3 pydist:209: dependency: module seems to be installed
D: dh_python3 pydist:284: dependency: included in build-deps
D: dh_python3 pydist:175: trying to find dependency for python-dotenv>=0.15 (python=None)
D: dh_python3 pydist:209: dependency: module seems to be installed
D: dh_python3 pydist:284: dependency: included in build-deps
D: dh_python3 pydist:175: trying to find dependency for resolvelib>=1.1 (python=None)
D: dh_python3 pydist:209: dependency: module seems to be installed
D: dh_python3 pydist:277: dependency: included in build-deps with limits 
D: dh_python3 pydist:175: trying to find dependency for installer<0.8,>=0.7 (python=None)
D: dh_python3 pydist:209: dependency: module seems to be installed
D: dh_python3 pydist:284: dependency: included in build-deps
D: dh_python3 pydist:175: trying to find dependency for truststore>=0.9; python_version >= "3.10" (python=None)
D: dh_python3 pydist:209: dependency: module seems to be installed
D: dh_python3 pydist:284: dependency: included in build-deps
D: dh_python3 pydist:175: trying to find dependency for tomli>=1.1.0; python_version < "3.11" (python=None)
D: dh_python3 pydist:209: dependency: module seems to be installed
D: dh_python3 pydist:284: dependency: included in build-deps
D: dh_python3 pydist:175: trying to find dependency for importlib-resources>=5; python_version < "3.9" (python=None)
D: dh_python3 pydist:175: trying to find dependency for importlib-metadata>=3.6; python_version < "3.10" (python=None)
D: dh_python3 pydist:209: dependency: module seems to be installed
D: dh_python3 pydist:284: dependency: included in build-deps
D: dh_python3 pydist:175: trying to find dependency for hishel<0.1.0,>=0.0.32 (python=None)
D: dh_python3 pydist:209: dependency: module seems to be installed
D: dh_python3 pydist:284: dependency: included in build-deps
D: dh_python3 pydist:175: trying to find dependency for msgpack>=1.0 (python=None)
D: dh_python3 pydist:209: dependency: module seems to be installed
D: dh_python3 pydist:284: dependency: included in build-deps
D: dh_python3 pydist:175: trying to find dependency for pbs-installer>=2024.4.18 (python=None)
D: dh_python3 pydist:209: dependency: module seems to be installed
D: dh_python3 pydist:284: dependency: included in build-deps
D: dh_python3 pydist:175: trying to find dependency for httpx[socks]<1,>0.20 (python=None)
D: dh_python3 pydist:209: dependency: module seems to be installed
D: dh_python3 pydist:284: dependency: included in build-deps
D: dh_python3 pydist:175: trying to find dependency for filelock>=3.13 (python=None)
D: dh_python3 pydist:209: dependency: module seems to be installed
D: dh_python3 pydist:284: dependency: included in build-deps
D: dh_python3 pydist:175: trying to find dependency for httpcore>=1.0.6 (python=None)
D: dh_python3 pydist:209: dependency: module seems to be installed
D: dh_python3 pydist:284: dependency: included in build-deps
D: dh_python3 pydist:175: trying to find dependency for certifi>=2024.8.30 (python=None)
D: dh_python3 pydist:209: dependency: module seems to be installed
D: dh_python3 pydist:277: dependency: included in build-deps with limits 
D: dh_python3 depends:253: D={'python3-tomli | python3-supported-min (>= 3.11)', 'python3-installer', 'python3-filelock', 'python3-findpython', 'python3-hishel', 'python3-tomlkit', 'python3-dotenv', 'python3-certifi (>> 2022.6.15)', 'python3-httpx', 'python3-resolvelib (>= 1.1)', 'python3-dep-logic', 'python3-shellingham', 'python3-msgpack', 'python3:any', 'python3-unearth (>= 0.9)', 'python3-platformdirs', 'python3-rich', 'python3-httpcore', 'python3-pyproject-hooks', 'python3-virtualenv', 'python3-packaging', 'python3-pbs-installer', 'python3-importlib-metadata | python3-supported-min (>= 3.10)', 'python3-blinker', 'python3-truststore | python3-supported-max (<< 3.10)'}; R=[]; S=[]; E=[], B=[]; RT=[]
	rm -f debian/python3-pdm.debhelper.log
   debian/rules execute_after_dh_python3
make[1]: Entering directory '/build/reproducible-path/pdm-2.20.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__
removed 'debian/python3-pdm/usr/lib/python3/dist-packages/__pypackages__/.gitignore'
removed directory 'debian/python3-pdm/usr/lib/python3/dist-packages/__pypackages__'
make[1]: Leaving directory '/build/reproducible-path/pdm-2.20.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/reproducible-path/pdm-2.20.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 -cdebian/control -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.20.1+ds1-2_all.deb'.
 dpkg-genbuildinfo --build=binary -O../pdm_2.20.1+ds1-2_amd64.buildinfo
 dpkg-genchanges --build=binary -O../pdm_2.20.1+ds1-2_amd64.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: not including original 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/4129116 and its subdirectories
I: Current time: Sat May  2 23:33:38 -12 2026
I: pbuilder-time-stamp: 1777808018
Mon Mar 31 05:10:40 UTC 2025  I: 1st build successful. Starting 2nd build on remote node ionos11-amd64.debian.net.
Mon Mar 31 05:10:40 UTC 2025  I: Preparing to do remote build '2' on ionos11-amd64.debian.net.
Mon Mar 31 05:16:12 UTC 2025  I: Deleting $TMPDIR on ionos11-amd64.debian.net.
Mon Mar 31 05:16:12 UTC 2025  I: pdm_2.20.1+ds1-2_amd64.changes:
Format: 1.8
Date: Sat, 01 Mar 2025 19:58:15 -0500
Source: pdm
Binary: python3-pdm
Architecture: all
Version: 2.20.1+ds1-2
Distribution: unstable
Urgency: medium
Maintainer: Debian Python Team <team+python@tracker.debian.org>
Changed-By: Boyuan Yang <byang@debian.org>
Description:
 python3-pdm - next generation Python package management tool
Closes: 1087130
Changes:
 pdm (2.20.1+ds1-2) unstable; urgency=medium
 .
   * debian/control: Add missing build-dep python3-pbs-installer.
   * debian/patches/0001-Patch-out-usage-of-pbs_installer.patch:
     Dropped now that we have pbs_installer in Debian. (Closes: #1087130)
Checksums-Sha1:
 c4961d41d631bf95c2e4aec8f0f47a30156165d6 8678 pdm_2.20.1+ds1-2_amd64.buildinfo
 28a7207aff15de08ca9c86f9c673dd56894fa167 225096 python3-pdm_2.20.1+ds1-2_all.deb
Checksums-Sha256:
 10db91ea74bfb1fab51137875d0376c1a8c474af33714ff9e19b26ae46c7b5fa 8678 pdm_2.20.1+ds1-2_amd64.buildinfo
 cbc10cd80f9c8ecaf4a105d9097f848be314f8e025253dbe8d43bb4e97da0b6a 225096 python3-pdm_2.20.1+ds1-2_all.deb
Files:
 877812cb270f910f423942933d0b6779 8678 python optional pdm_2.20.1+ds1-2_amd64.buildinfo
 a10bb06dfbbf8fc75587826db337fd1d 225096 python optional python3-pdm_2.20.1+ds1-2_all.deb
Mon Mar 31 05:16:13 UTC 2025  I: diffoscope 291 will be used to compare the two builds:
Running as unit: rb-diffoscope-amd64_28-52509.service
# Profiling output for: /usr/bin/diffoscope --timeout 7200 --html /srv/reproducible-results/rbuild-debian/r-b-build.af2sWizH/pdm_2.20.1+ds1-2.diffoscope.html --text /srv/reproducible-results/rbuild-debian/r-b-build.af2sWizH/pdm_2.20.1+ds1-2.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/r-b-build.af2sWizH/pdm_2.20.1+ds1-2.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/r-b-build.af2sWizH/b1/pdm_2.20.1+ds1-2_amd64.changes /srv/reproducible-results/rbuild-debian/r-b-build.af2sWizH/b2/pdm_2.20.1+ds1-2_amd64.changes

## command (total time: 0.000s)
       0.000s      1 call     cmp (internal)

## has_same_content_as (total time: 0.000s)
       0.000s      1 call     diffoscope.comparators.binary.FilesystemFile

## main (total time: 0.003s)
       0.003s      2 calls    outputs
       0.000s      1 call     cleanup
Finished with result: success
Main processes terminated with: code=exited/status=0
Service runtime: 234ms
CPU time consumed: 234ms
Mon Mar 31 05:16:14 UTC 2025  I: diffoscope 291 found no differences in the changes files, and a .buildinfo file also exists.
Mon Mar 31 05:16:14 UTC 2025  I: pdm from unstable built successfully and reproducibly on amd64.
Mon Mar 31 05:16:15 UTC 2025  I: Submitting .buildinfo files to external archives:
Mon Mar 31 05:16:15 UTC 2025  I: Submitting 12K	b1/pdm_2.20.1+ds1-2_amd64.buildinfo.asc
Mon Mar 31 05:16:16 UTC 2025  I: Submitting 12K	b2/pdm_2.20.1+ds1-2_amd64.buildinfo.asc
Mon Mar 31 05:16:18 UTC 2025  I: Done submitting .buildinfo files to http://buildinfo.debian.net/api/submit.
Mon Mar 31 05:16:18 UTC 2025  I: Done submitting .buildinfo files.
Mon Mar 31 05:16:18 UTC 2025  I: Removing signed pdm_2.20.1+ds1-2_amd64.buildinfo.asc files:
removed './b1/pdm_2.20.1+ds1-2_amd64.buildinfo.asc'
removed './b2/pdm_2.20.1+ds1-2_amd64.buildinfo.asc'