Skip to content

Fix directory/file removal during package uninstall#13964

Closed
vfazio wants to merge 11 commits intopypa:mainfrom
vfazio:vfazio-dir_fix
Closed

Fix directory/file removal during package uninstall#13964
vfazio wants to merge 11 commits intopypa:mainfrom
vfazio:vfazio-dir_fix

Conversation

@vfazio
Copy link
Copy Markdown
Contributor

@vfazio vfazio commented Apr 30, 2026

Address the situation where a file exists on disk but is not captured in an installation record and where its owning directory is selected for removal.

If a path is selected, all files in that path should be globbed and treated as if they were also selected.

This fixes an issue where orphaned directories could linger due to the directories not collapsing appropriately.

Fixes: (title)

@vfazio
Copy link
Copy Markdown
Contributor Author

vfazio commented Apr 30, 2026

This is related to #13939 and pypa/virtualenv#3132

Though apparently i failed to run all of the unit tests.. so need to fix that

@vfazio
Copy link
Copy Markdown
Contributor Author

vfazio commented Apr 30, 2026

side note: I added logic to jail the directory search to stay within the path list... otherwise if a package installs something at the top level of purelib, (like setuptools does) then the unchecked directory list includes all of purelib and it actually walks through all installed packages...

I will have to futz with the test_compress_for_rename test and figure out how to morph the mocks to play nice but that may take me a bit to figure out.

@notatallshaw @pfmoore just an FYI since you reviewed the other MR which unfortunately caused this scenario. I obviously failed to account for needing to expand coverage on other unit tests to make sure I was completely fixing what i thought i was fixing completely.

This is not beautiful, but it was working in my test case...

A simple repro:

virtualenv new_env --pip=26.1 --setuptools=bundle
new_env/bin/python -m pip -vv uninstall setuptools

  Will actually move:
    /tmp/tmp.9TdEyzgvED/new_env/lib/python3.12/site-packages/_distutils_hack/__init__.py
    /tmp/tmp.9TdEyzgvED/new_env/lib/python3.12/site-packages/_distutils_hack/__pycache__
    /tmp/tmp.9TdEyzgvED/new_env/lib/python3.12/site-packages/_distutils_hack/override.py
    /tmp/tmp.9TdEyzgvED/new_env/lib/python3.12/site-packages/distutils-precedence.pth
    /tmp/tmp.9TdEyzgvED/new_env/lib/python3.12/site-packages/setuptools-82.0.1.dist-info/
    /tmp/tmp.9TdEyzgvED/new_env/lib/python3.12/site-packages/setuptools-82.0.1.virtualenv
    /tmp/tmp.9TdEyzgvED/new_env/lib/python3.12/site-packages/setuptools/
Proceed (Y/n)? y
  Created temporary directory: /tmp/pip-uninstall-eif633hl
  Removing file or directory /tmp/tmp.9TdEyzgvED/new_env/lib/python3.12/site-packages/_distutils_hack/__init__.py
  Created temporary directory: /tmp/tmp.9TdEyzgvED/new_env/lib/python3.12/site-packages/_distutils_hack/~_pycache__
  Removing file or directory /tmp/tmp.9TdEyzgvED/new_env/lib/python3.12/site-packages/_distutils_hack/__pycache__
  Removing file or directory /tmp/tmp.9TdEyzgvED/new_env/lib/python3.12/site-packages/_distutils_hack/override.py
  Created temporary directory: /tmp/pip-uninstall-qkccizqs
  Removing file or directory /tmp/tmp.9TdEyzgvED/new_env/lib/python3.12/site-packages/distutils-precedence.pth
  Created temporary directory: /tmp/tmp.9TdEyzgvED/new_env/lib/python3.12/site-packages/~etuptools-82.0.1.dist-info
  Removing file or directory /tmp/tmp.9TdEyzgvED/new_env/lib/python3.12/site-packages/setuptools-82.0.1.dist-info/
  Removing file or directory /tmp/tmp.9TdEyzgvED/new_env/lib/python3.12/site-packages/setuptools-82.0.1.virtualenv
  Created temporary directory: /tmp/tmp.9TdEyzgvED/new_env/lib/python3.12/site-packages/~etuptools
  Removing file or directory /tmp/tmp.9TdEyzgvED/new_env/lib/python3.12/site-packages/setuptools/
  Successfully uninstalled setuptools-82.0.1

(.venv) vfazio@Zephyrus:/tmp/tmp.9TdEyzgvED$ ls new_env/lib/python3.12/site-packages/
__pycache__/         _distutils_hack/     _virtualenv.pth      _virtualenv.py       pip/                 pip-26.1.dist-info/  pip-26.1.virtualenv

We would expect _distutils_hack to be removed completely.

I will say as a side note that virtualenv is doing some shenanigans in https://github.com/pypa/virtualenv/blob/main/src/virtualenv/seed/embed/via_app_data/pip_install/copy.py#L25 to edit the RECORD file that gets copied over into the venv which blew my mind for a while. There will be no need to add __pycache__ going forward once we fix this issue and the pyc file path is wrong :-/ it should be in __pycache__ because sourceless pyc files in the module directory do not have the python major/minor in their name https://peps.python.org/pep-3147/#case-4-legacy-pyc-files-and-source-less-imports

@vfazio vfazio force-pushed the vfazio-dir_fix branch 3 times, most recently from 01c6d89 to fae2b88 Compare May 1, 2026 02:04
@vfazio
Copy link
Copy Markdown
Contributor Author

vfazio commented May 1, 2026

I will have to think a bit harder on the jail problem. I don't think i can actually filter on that because the point of the checks is to see if there are other adjacent files to see if they can be globbed.

After thinking about the logic here, it seems possible that pip may try to remove site-packages/purelib when all packages have been removed since it globs up to the root directory (sometimes).

I think namespace packages are probably not as supported as they could be.

@notatallshaw
Copy link
Copy Markdown
Member

Hey @vfazio thanks for the PR, regressions in a tool as complex and widely used as pip are pretty normal and this doesn't seem like it's causing significant problems to anyone, I will try and make some time to review the problem and your PR when I can, but I can't promise any particular time window.

@vfazio vfazio force-pushed the vfazio-dir_fix branch from fae2b88 to e0ea947 Compare May 2, 2026 03:52
@vfazio vfazio changed the title Fix removing files from during package uninstall Fix directory/file removal during package uninstall May 2, 2026
@vfazio
Copy link
Copy Markdown
Contributor Author

vfazio commented May 2, 2026

I've been staring at this the past few days and I think I'm going slightly insane so probably need to take a break.

Things I've learned:

  • Directory support is not "free", there is overhead in:
    • stating the file to determine link/directory status
    • evaluating existence/heirarchy within the wildcard set

Issues I've noticed independent of this MR

  • namespace packages do not clean up correctly
    • when evaluating a path, only the first parent is evaluated
    • we do not do a DFS of all children to determine their wildcard status and work up the directory path to the top directory
  • packages that install a file into the top of purelib trigger a descent into all packages
    • we grab the parent (purelib) and os.walk through all directories under that parent
    • setuptools is a known offender with distutils-precedence.pth
    • The UninstallPathSet has a reference to the dist object, it seems like the install paths for the dist should be leveraged to ensure we can appropriately isolate the search for files
    • A special case would need to exist for purelib or whatever since we do not want to wildcard that directory. Not sure if there are concerns about purelib getting nuked
  • Some of this is mentioned in "Would not remove" list may be inaccurately calculated for directories passed to UninstallPathSet.add #13939 but I think there is some overlap between compress_for_rename and compress_for_output_listing. might be worth exploring in the future having a single go through all of the paths to compute both lists and make it sticky since compress_for_rename is called twice
    • maybe less a performance issue and more about maintenance burden though calling compress_for_rename twice on a slow sd card for a large path list on an RPi may not be a great experience... though the filesystem blocks may be buffered for the subsequent call.

I'll clean up the commits and make a changelog entry when i've had some time to relax

vfazio added 5 commits May 2, 2026 16:07
This set is not providing value so remove it.

Signed-off-by: Vincent Fazio <vfazio@gmail.com>
When walking directories via os.walk, `root` is an absolute path so the
value of `dirname` in the returned tuple will thus be an absolute path
and will replace the `root` value in the join.

Signed-off-by: Vincent Fazio <vfazio@gmail.com>
The `unchecked` search paths derived from the input paths were not
terminated with os.path.sep but were compared against the wildcards that
are, so unless the path was a subdirectory of a wildcard, it would not
match.

For example, root = /A/B/C/D would be skipped due to wildcard /A/B/C/
but if root = /A/B/C it would fail to be considered a match.

Signed-off-by: Vincent Fazio <vfazio@gmail.com>
Wildcards were derived from path values passed into the function which
are not necessarily guaranteed to be in normcase. These values were
being compared against normcase paths which could have led to failures.

However, they are also used as displayable output from the function's
return value so we need to maintain a mapping to the original value.

Signed-off-by: Vincent Fazio <vfazio@gmail.com>
Update the test to reflect that the path list may include directories
(like __pycache__).

Also, add a test case to ensure files that exist on disk and are not in
the input path list but are under a directory specified in the list
correctly get rolled up to a wildcard.

Signed-off-by: Vincent Fazio <vfazio@gmail.com>
vfazio added 6 commits May 3, 2026 09:44
The `compress_for_rename` function previously didn't fully support
directories in the path list.

This had impacts on the visual appearance of the planned files to be
moved/removed and on the actual removal as it threw off the collapsing
of directory wildcards which could cause orphaned directories in the
installation location.

Signed-off-by: Vincent Fazio <vfazio@gmail.com>
Mocking os.walk is like letting the neighborhood bard viciously mock
your friend... At first everyone is in tears of laughter, but then it
devolves into tears of pain and regret.

In this case, mocking os.walk limits how `compress_for_rename` must be
implemented, requires tweaking any time there's a change, and requires
emulating the behavior of the underlying function.

Instead, create the requested paths in a temporary directory and rely
on pure os.walk behavior which we do in other test cases.

Signed-off-by: Vincent Fazio <vfazio@gmail.com>
Signed-off-by: Vincent Fazio <vfazio@gmail.com>
Signed-off-by: Vincent Fazio <vfazio@gmail.com>
@vfazio vfazio force-pushed the vfazio-dir_fix branch from e7b70bb to d837a49 Compare May 3, 2026 15:00
@vfazio vfazio marked this pull request as ready for review May 3, 2026 15:12
@vfazio
Copy link
Copy Markdown
Contributor Author

vfazio commented May 3, 2026

Some evidence to verify functionality:

Previous:

(.venv) vfazio@Zephyrus:/tmp/tmp.Kc5V6vxYyN$ virtualenv .new_env --pip=26.1 --setuptools=bundle
created virtual environment CPython3.12.3.final.0-64-x86_64 in 507ms
  creator CPython3Posix(dest=/tmp/tmp.Kc5V6vxYyN/.new_env, clear=False, no_vcs_ignore=False, global=False)
  seeder FromAppData(download=False, pip=26.1, setuptools=bundle, via=copy, app_data_dir=/home/vfazio/.cache/virtualenv)
    added seed packages: pip==26.1, setuptools==82.0.1
  activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator,XonshActivator
(.venv) vfazio@Zephyrus:/tmp/tmp.Kc5V6vxYyN$ .new_env/bin/python3 -m pip uninstall setuptools
Found existing installation: setuptools 82.0.1
Uninstalling setuptools-82.0.1:
  Would remove:
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/_distutils_hack/*
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/distutils-precedence.pth
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/setuptools-82.0.1.dist-info/*
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/setuptools-82.0.1.virtualenv
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/setuptools/*
Proceed (Y/n)? y
  Successfully uninstalled setuptools-82.0.1

(.venv) vfazio@Zephyrus:/tmp/tmp.Kc5V6vxYyN$ tree  /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/_distutils_hack/
/tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/_distutils_hack/

0 directories, 0 files

(.venv) vfazio@Zephyrus:/tmp/tmp.Kc5V6vxYyN$ .new_env/bin/python3 -m pip uninstall pip
Found existing installation: pip 26.1
Uninstalling pip-26.1:
  Would remove:
    /tmp/tmp.Kc5V6vxYyN/.new_env/bin/pip
    /tmp/tmp.Kc5V6vxYyN/.new_env/bin/pip-3.12
    /tmp/tmp.Kc5V6vxYyN/.new_env/bin/pip3
    /tmp/tmp.Kc5V6vxYyN/.new_env/bin/pip3.12
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip-26.1.dist-info/*
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip-26.1.virtualenv
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/*
Proceed (Y/n)? y
  Successfully uninstalled pip-26.1

(.venv) vfazio@Zephyrus:/tmp/tmp.Kc5V6vxYyN$ tree  /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/
/tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/
├── _internal
│   ├── cli
│   ├── commands
│   ├── locations
│   ├── metadata
│   │   └── importlib
│   ├── models
│   ├── network
│   ├── operations
│   │   ├── build
│   │   └── install
│   ├── req
│   ├── utils
│   └── vcs
└── _vendor
    ├── cachecontrol
    │   └── caches
    ├── certifi
    ├── distlib
    ├── distro
    ├── idna
    ├── msgpack
    ├── packaging
    ├── platformdirs
    ├── pygments
    │   ├── filters
    │   ├── lexers
    │   └── styles
    ├── pyproject_hooks
    │   └── _in_process
    ├── requests
    ├── rich
    ├── truststore
    └── urllib3
        ├── contrib
        ├── http2
        └── util

With the fixes in this MR

(.venv) vfazio@Zephyrus:~/development/pip$ git rev-parse HEAD
d837a4948ec7805fd6cb65ff258a4a5c45a06da1

(.venv) vfazio@Zephyrus:~/development/pip$ python3 -m build -w
* Creating isolated environment: venv+pip...
* Installing packages in isolated environment:
  - flit-core >=3.11,<4
* Getting build dependencies for wheel...
* Building wheel...
Successfully built pip-26.2.dev0-py3-none-any.whl
(.venv) vfazio@Zephyrus:~/development/pip$ sha256sum dist/pip-26.2.dev0-py3-none-any.whl 
89f616a7d834a65eb98a5e94fb37323c315d3d55319f87a846aaf4dd2a1e574e  dist/pip-26.2.dev0-py3-none-any.whl

(.venv) vfazio@Zephyrus:~/development/pip$ cd `mktemp -d`

(.venv) vfazio@Zephyrus:/tmp/tmp.Kc5V6vxYyN$ virtualenv .new_env --pip=26.1 --setuptools=bundle
created virtual environment CPython3.12.3.final.0-64-x86_64 in 449ms
  creator CPython3Posix(dest=/tmp/tmp.Kc5V6vxYyN/.new_env, clear=False, no_vcs_ignore=False, global=False)
  seeder FromAppData(download=False, pip=26.1, setuptools=bundle, via=copy, app_data_dir=/home/vfazio/.cache/virtualenv)
    added seed packages: pip==26.1, setuptools==82.0.1
  activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator,XonshActivator


(.venv) vfazio@Zephyrus:/tmp/tmp.Kc5V6vxYyN$ sha256sum ~/development/pip/dist/pip-26.2.dev0-py3-none-any.whl
89f616a7d834a65eb98a5e94fb37323c315d3d55319f87a846aaf4dd2a1e574e  /home/vfazio/development/pip/dist/pip-26.2.dev0-py3-none-any.whl

(.venv) vfazio@Zephyrus:/tmp/tmp.Kc5V6vxYyN$ .new_env/bin/pip install -U ~/development/pip/dist/pip-26.2.dev0-py3-none-any.whl
Processing /home/vfazio/development/pip/dist/pip-26.2.dev0-py3-none-any.whl
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 26.1
    Uninstalling pip-26.1:
      Successfully uninstalled pip-26.1
Successfully installed pip-26.2.dev0
(.venv) vfazio@Zephyrus:/tmp/tmp.Kc5V6vxYyN$ .new_env/bin/pip -V
pip 26.2.dev0 from /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip (python 3.12)

(.venv) vfazio@Zephyrus:/tmp/tmp.Kc5V6vxYyN$ .new_env/bin/pip -vv uninstall setuptools -y
Found existing installation: setuptools 82.0.1
Uninstalling setuptools-82.0.1:
  Created temporary directory: /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/~distutils_hack
  Removing file or directory /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/_distutils_hack/
  Created temporary directory: /tmp/pip-uninstall-vj3b2bdj
  Removing file or directory /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/distutils-precedence.pth
  Created temporary directory: /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/~etuptools-82.0.1.dist-info
  Removing file or directory /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/setuptools-82.0.1.dist-info/
  Removing file or directory /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/setuptools-82.0.1.virtualenv
  Created temporary directory: /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/~etuptools
  Removing file or directory /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/setuptools/
  Successfully uninstalled setuptools-82.0.1
(.venv) vfazio@Zephyrus:/tmp/tmp.Kc5V6vxYyN$ ls /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/
__pycache__  _virtualenv.pth  _virtualenv.py  pip  pip-26.2.dev0.dist-info
(.venv) vfazio@Zephyrus:/tmp/tmp.Kc5V6vxYyN$ .new_env/bin/pip -vv uninstall pip -y
Found existing installation: pip 26.2.dev0
Uninstalling pip-26.2.dev0:
  Created temporary directory: /tmp/pip-uninstall-wb0k1gxg
  Removing file or directory /tmp/tmp.Kc5V6vxYyN/.new_env/bin/pip
  Removing file or directory /tmp/tmp.Kc5V6vxYyN/.new_env/bin/pip3
  Removing file or directory /tmp/tmp.Kc5V6vxYyN/.new_env/bin/pip3.12
  Created temporary directory: /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/~ip-26.2.dev0.dist-info
  Removing file or directory /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip-26.2.dev0.dist-info/
  Created temporary directory: /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/~ip
  Removing file or directory /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/
  Successfully uninstalled pip-26.2.dev0
(.venv) vfazio@Zephyrus:/tmp/tmp.Kc5V6vxYyN$ ls /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/
__pycache__  _virtualenv.pth  _virtualenv.py

@sbidoul
Copy link
Copy Markdown
Member

sbidoul commented May 3, 2026

Is this a regression in pip 26.1 ?

@vfazio
Copy link
Copy Markdown
Contributor Author

vfazio commented May 3, 2026

Is this a regression in pip 26.1 ?

Yes, Im pretty sure I accidentally introduced it with #13725 which threw a directory into the list of files to remove and I didn't do enough testing it appears.

@sbidoul
Copy link
Copy Markdown
Member

sbidoul commented May 3, 2026

Ok, I did a few tests myself and indeed pip uninstall left empty directories behind in a few of my tests. That sounds quite significant.

@vfazio
Copy link
Copy Markdown
Contributor Author

vfazio commented May 3, 2026

Ok, I did a few tests myself and indeed pip uninstall left empty directories behind in a few of my tests. That sounds quite significant.

I'm hoping this hot fix is good enough in the interim.

I do have another branch I'm working on but it's far more significant and reworks the logic entirely. The good news is that it's generally as fast or faster and handles more scenarios but with the large number of changes it doesn't feel like it should be a candidate for a bug fix

@sbidoul
Copy link
Copy Markdown
Member

sbidoul commented May 3, 2026

I'm not very familiar with that part of the code base and won't have time to review this in depth until next weekend at best, unfortunately.

Since this fix is not trivial and as you say you have a significant rework in progress, I would be inclined to revert #13725.

@notatallshaw as you have reviewed #13725, if you have time I'd appreciate your opinion.

@notatallshaw
Copy link
Copy Markdown
Member

I will take a look today, but that's also my inclination, is to revert and have a fix in the next release that tests these scenarios.

@vfazio
Copy link
Copy Markdown
Contributor Author

vfazio commented May 3, 2026

Not the kind of contribution I was looking to make. 💣 💥. I have more confidence in this with the added tests but understand if it needs to be reverted to give it more time to bake

@sbidoul
Copy link
Copy Markdown
Member

sbidoul commented May 3, 2026

@vfazio no worries :)

@vfazio
Copy link
Copy Markdown
Contributor Author

vfazio commented May 3, 2026

@vfazio no worries :)

I appreciate you saying that actually. I've been kicking my own ass for days because of this. Seems I'm my own harshest critic

@vfazio
Copy link
Copy Markdown
Contributor Author

vfazio commented May 3, 2026

I'm going to throw out a wild idea.

The original PR had simply walked __pycache__ and added each file explicitly to the list of paths to remove. This leveraged the existing logic to determine all files were in a directory and to roll it up to be a directory deletion.

That is very easy to add back in to get the benefits of the intended change and to avoid the general "directories in the path list" problem.

Should only take me a few minutes to whip up and would be less difficult to actually review if that's the route we'd prefer to go.

The ultimate problem is that directories just aren't supported in the path list.

https://packaging.python.org/en/latest/specifications/recording-installed-packages/#the-record-file

Directories should not be listed.

This is a should and not a shall so while it's allowed, it's an edge case we've never had to consider.

Of course, in that same block:

To completely uninstall a package, a tool needs to remove all files listed in RECORD, all .pyc files (of all optimization levels) corresponding to removed .py files, and any directories emptied by the uninstallation.

Directories are supported as values to be processed by StashedUninstallPathSet.stash but that's because compress_for_rename and compact return directories to make removals efficient.

@vfazio
Copy link
Copy Markdown
Contributor Author

vfazio commented May 3, 2026

diff --git a/src/pip/_internal/req/req_uninstall.py b/src/pip/_internal/req/req_uninstall.py
index adb215c35..ee340ce32 100644
--- a/src/pip/_internal/req/req_uninstall.py
+++ b/src/pip/_internal/req/req_uninstall.py
@@ -343,7 +343,10 @@ class UninstallPathSet:
         # interpreter run at a different optimization level (PYTHONOPTIMIZE).
         if os.path.splitext(path)[1] == ".py":
             pycache = os.path.join(os.path.dirname(path), "__pycache__")
-            self.add(pycache)
+            if os.path.isdir(pycache) and not os.path.islink(pycache):
+                for dirpath, _, dirfiles in os.walk(pycache):
+                    for f in dirfiles:
+                        self.add(os.path.join(dirpath, f))
 
     def add_pth(self, pth_file: str, entry: str) -> None:
         pth_file = self._normalize_path_cached(pth_file)
(.venv) vfazio@Zephyrus:/tmp/tmp.Kc5V6vxYyN$ .new_env/bin/pip -vv uninstall pip
Found existing installation: pip 26.2.dev0
Uninstalling pip-26.2.dev0:
  Would remove:
    /tmp/tmp.Kc5V6vxYyN/.new_env/bin/pip
    /tmp/tmp.Kc5V6vxYyN/.new_env/bin/pip3
    /tmp/tmp.Kc5V6vxYyN/.new_env/bin/pip3.12
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip-26.2.dev0.dist-info/INSTALLER
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip-26.2.dev0.dist-info/METADATA
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip-26.2.dev0.dist-info/RECORD
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip-26.2.dev0.dist-info/REQUESTED
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip-26.2.dev0.dist-info/WHEEL
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip-26.2.dev0.dist-info/direct_url.json
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip-26.2.dev0.dist-info/entry_points.txt
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip-26.2.dev0.dist-info/licenses/AUTHORS.txt
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip-26.2.dev0.dist-info/licenses/LICENSE.txt
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip-26.2.dev0.dist-info/licenses/src/pip/_vendor/cachecontrol/LICENSE.txt
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip-26.2.dev0.dist-info/licenses/src/pip/_vendor/certifi/LICENSE
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip-26.2.dev0.dist-info/licenses/src/pip/_vendor/distlib/LICENSE.txt
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip-26.2.dev0.dist-info/licenses/src/pip/_vendor/distro/LICENSE
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip-26.2.dev0.dist-info/licenses/src/pip/_vendor/idna/LICENSE.md
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip-26.2.dev0.dist-info/licenses/src/pip/_vendor/msgpack/COPYING
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip-26.2.dev0.dist-info/licenses/src/pip/_vendor/packaging/LICENSE
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip-26.2.dev0.dist-info/licenses/src/pip/_vendor/packaging/LICENSE.APACHE
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip-26.2.dev0.dist-info/licenses/src/pip/_vendor/packaging/LICENSE.BSD
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip-26.2.dev0.dist-info/licenses/src/pip/_vendor/pkg_resources/LICENSE
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip-26.2.dev0.dist-info/licenses/src/pip/_vendor/platformdirs/LICENSE
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip-26.2.dev0.dist-info/licenses/src/pip/_vendor/pygments/LICENSE
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip-26.2.dev0.dist-info/licenses/src/pip/_vendor/pyproject_hooks/LICENSE
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip-26.2.dev0.dist-info/licenses/src/pip/_vendor/requests/LICENSE
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip-26.2.dev0.dist-info/licenses/src/pip/_vendor/resolvelib/LICENSE
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip-26.2.dev0.dist-info/licenses/src/pip/_vendor/rich/LICENSE
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip-26.2.dev0.dist-info/licenses/src/pip/_vendor/tomli/LICENSE
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip-26.2.dev0.dist-info/licenses/src/pip/_vendor/tomli_w/LICENSE
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip-26.2.dev0.dist-info/licenses/src/pip/_vendor/truststore/LICENSE
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip-26.2.dev0.dist-info/licenses/src/pip/_vendor/urllib3/LICENSE.txt
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/__main__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/__pip-runner__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/__pycache__/__main__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/__pycache__/__pip-runner__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/__pycache__/build_env.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/__pycache__/cache.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/__pycache__/configuration.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/__pycache__/exceptions.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/__pycache__/main.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/__pycache__/pyproject.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/build_env.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/cache.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/cli/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/base_command.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/cmdoptions.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/command_context.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/index_command.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/main.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/main_parser.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/parser.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/progress_bars.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/req_command.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/spinners.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/status_codes.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/cli/autocompletion.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/cli/base_command.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/cli/cmdoptions.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/cli/command_context.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/cli/index_command.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/cli/main.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/cli/main_parser.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/cli/parser.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/cli/progress_bars.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/cli/req_command.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/cli/spinners.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/cli/status_codes.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/cache.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/check.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/completion.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/configuration.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/debug.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/download.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/freeze.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/hash.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/help.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/index.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/inspect.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/install.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/list.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/lock.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/search.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/show.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/uninstall.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/wheel.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/cache.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/check.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/completion.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/configuration.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/debug.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/download.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/freeze.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/hash.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/help.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/index.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/inspect.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/install.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/list.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/lock.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/search.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/show.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/uninstall.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/commands/wheel.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/configuration.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/distributions/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/base.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/installed.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/sdist.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/wheel.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/distributions/base.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/distributions/installed.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/distributions/sdist.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/distributions/wheel.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/exceptions.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/index/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/index/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/index/__pycache__/collector.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/index/__pycache__/package_finder.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/index/__pycache__/sources.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/index/collector.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/index/package_finder.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/index/sources.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/locations/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/locations/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/locations/__pycache__/_distutils.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/locations/__pycache__/_sysconfig.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/locations/__pycache__/base.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/locations/_distutils.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/locations/_sysconfig.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/locations/base.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/main.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/metadata/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/metadata/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/metadata/__pycache__/_json.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/metadata/__pycache__/base.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/metadata/__pycache__/pkg_resources.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/metadata/_json.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/metadata/base.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__pycache__/_compat.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__pycache__/_dists.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__pycache__/_envs.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_compat.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_dists.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_envs.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/metadata/pkg_resources.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/models/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/candidate.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/direct_url.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/format_control.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/index.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/installation_report.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/link.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/release_control.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/scheme.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/search_scope.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/selection_prefs.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/target_python.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/wheel.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/models/candidate.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/models/direct_url.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/models/format_control.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/models/index.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/models/installation_report.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/models/link.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/models/release_control.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/models/scheme.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/models/search_scope.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/models/selection_prefs.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/models/target_python.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/models/wheel.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/network/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/network/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/network/__pycache__/auth.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/network/__pycache__/cache.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/network/__pycache__/download.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/network/__pycache__/lazy_wheel.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/network/__pycache__/session.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/network/__pycache__/utils.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/network/auth.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/network/cache.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/network/download.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/network/lazy_wheel.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/network/session.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/network/utils.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/network/xmlrpc.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/operations/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/operations/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/operations/__pycache__/check.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/operations/__pycache__/freeze.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/operations/__pycache__/prepare.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/operations/build/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/build_tracker.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/metadata.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/metadata_editable.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/wheel.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/wheel_editable.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/operations/build/build_tracker.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/operations/build/metadata.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/operations/build/metadata_editable.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/operations/build/wheel.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/operations/build/wheel_editable.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/operations/check.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/operations/freeze.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/operations/install/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/operations/install/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/operations/install/__pycache__/wheel.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/operations/install/wheel.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/operations/prepare.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/pyproject.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/req/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/req/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/req/__pycache__/constructors.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/req/__pycache__/pep723.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/req/__pycache__/req_dependency_group.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/req/__pycache__/req_file.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/req/__pycache__/req_install.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/req/__pycache__/req_set.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/req/__pycache__/req_uninstall.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/req/constructors.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/req/pep723.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/req/req_dependency_group.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/req/req_file.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/req/req_install.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/req/req_set.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/req/req_uninstall.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/resolution/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/resolution/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/resolution/__pycache__/base.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/resolution/base.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/resolution/legacy/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/resolution/legacy/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/resolution/legacy/__pycache__/resolver.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/resolution/legacy/resolver.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/base.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/candidates.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/factory.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/found_candidates.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/provider.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/reporter.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/requirements.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/resolver.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/base.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/provider.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/reporter.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/requirements.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/resolver.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/self_outdated_check.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/_jaraco_text.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/_log.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/appdirs.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/compat.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/compatibility_tags.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/datetime.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/deprecation.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/direct_url_helpers.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/egg_link.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/entrypoints.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/filesystem.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/filetypes.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/glibc.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/hashes.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/logging.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/misc.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/packaging.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/pylock.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/retry.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/subprocess.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/temp_dir.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/unpacking.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/urls.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/virtualenv.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/wheel.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/_jaraco_text.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/_log.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/appdirs.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/compat.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/compatibility_tags.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/datetime.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/deprecation.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/direct_url_helpers.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/egg_link.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/entrypoints.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/filesystem.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/filetypes.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/glibc.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/hashes.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/logging.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/misc.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/packaging.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/pylock.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/retry.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/subprocess.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/temp_dir.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/unpacking.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/urls.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/virtualenv.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/utils/wheel.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/vcs/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/bazaar.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/git.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/mercurial.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/subversion.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/versioncontrol.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/vcs/bazaar.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/vcs/git.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/vcs/mercurial.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/vcs/subversion.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/vcs/versioncontrol.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_internal/wheel_builder.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/README.rst
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/LICENSE.txt
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/_cmd.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/adapter.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/cache.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/controller.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/filewrapper.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/heuristics.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/serialize.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/wrapper.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/_cmd.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/adapter.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/cache.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/redis_cache.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/controller.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/filewrapper.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/heuristics.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/py.typed
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/serialize.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/wrapper.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/certifi/LICENSE
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/certifi/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/certifi/__main__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/certifi/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/certifi/__pycache__/__main__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/certifi/__pycache__/core.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/certifi/cacert.pem
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/certifi/core.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/certifi/py.typed
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/distlib/LICENSE.txt
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/distlib/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/compat.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/resources.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/scripts.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/util.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/distlib/compat.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/distlib/resources.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/distlib/scripts.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/distlib/t32.exe
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/distlib/t64-arm.exe
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/distlib/t64.exe
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/distlib/util.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/distlib/w32.exe
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/distlib/w64-arm.exe
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/distlib/w64.exe
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/distro/LICENSE
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/distro/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/distro/__main__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/distro/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/distro/__pycache__/__main__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/distro/__pycache__/distro.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/distro/distro.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/distro/py.typed
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/idna/LICENSE.md
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/idna/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/codec.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/compat.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/core.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/idnadata.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/intranges.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/package_data.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/uts46data.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/idna/codec.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/idna/compat.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/idna/core.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/idna/idnadata.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/idna/intranges.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/idna/package_data.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/idna/py.typed
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/idna/uts46data.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/msgpack/COPYING
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/msgpack/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/msgpack/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/msgpack/__pycache__/exceptions.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/msgpack/__pycache__/ext.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/msgpack/__pycache__/fallback.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/msgpack/exceptions.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/msgpack/ext.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/msgpack/fallback.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/LICENSE
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/LICENSE.APACHE
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/LICENSE.BSD
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_elffile.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_manylinux.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_musllinux.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_parser.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_structures.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_tokenizer.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/dependency_groups.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/direct_url.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/errors.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/markers.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/metadata.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/pylock.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/requirements.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/specifiers.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/tags.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/utils.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/version.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/_elffile.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/_manylinux.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/_musllinux.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/_parser.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/_structures.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/_tokenizer.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/dependency_groups.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/direct_url.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/errors.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/licenses/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/licenses/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/licenses/__pycache__/_spdx.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/licenses/_spdx.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/markers.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/metadata.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/py.typed
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/pylock.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/requirements.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/specifiers.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/tags.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/utils.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/packaging/version.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pkg_resources/LICENSE
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pkg_resources/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pkg_resources/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/platformdirs/LICENSE
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__main__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/__main__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/android.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/api.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/macos.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/unix.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/version.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/windows.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/platformdirs/android.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/platformdirs/api.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/platformdirs/macos.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/platformdirs/py.typed
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/platformdirs/unix.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/platformdirs/version.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/platformdirs/windows.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/LICENSE
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/__main__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/__main__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/console.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/filter.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/formatter.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/lexer.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/modeline.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/plugin.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/regexopt.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/scanner.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/sphinxext.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/style.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/token.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/unistring.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/util.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/console.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/filter.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/filters/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/filters/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/formatter.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/_mapping.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/_mapping.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/lexer.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/__pycache__/_mapping.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/__pycache__/python.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/_mapping.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/python.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/modeline.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/plugin.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/regexopt.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/scanner.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/sphinxext.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/style.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/styles/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/styles/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/styles/__pycache__/_mapping.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/styles/_mapping.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/token.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/unistring.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pygments/util.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/LICENSE
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/__pycache__/_impl.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_impl.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/__pycache__/_in_process.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/py.typed
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/LICENSE
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/__version__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/_internal_utils.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/adapters.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/api.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/auth.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/certs.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/compat.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/cookies.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/exceptions.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/help.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/hooks.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/models.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/packages.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/sessions.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/status_codes.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/structures.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/utils.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/__version__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/_internal_utils.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/adapters.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/api.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/auth.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/certs.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/compat.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/cookies.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/exceptions.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/help.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/hooks.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/models.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/packages.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/sessions.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/status_codes.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/structures.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/requests/utils.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/resolvelib/LICENSE
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/resolvelib/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/providers.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/reporters.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/structs.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/resolvelib/providers.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/resolvelib/py.typed
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/resolvelib/reporters.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/__pycache__/abstract.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/__pycache__/criterion.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/__pycache__/exceptions.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/__pycache__/resolution.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/abstract.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/criterion.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/exceptions.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/resolution.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/resolvelib/structs.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/LICENSE
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__main__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/__main__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_cell_widths.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_emoji_codes.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_emoji_replace.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_export_format.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_extension.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_fileno.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_inspect.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_log_render.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_loop.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_null_file.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_palettes.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_pick.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_ratio.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_spinners.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_stack.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_timer.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_win32_console.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_windows.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_windows_renderer.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_wrap.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/abc.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/align.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/ansi.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/bar.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/box.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/cells.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/color.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/color_triplet.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/columns.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/console.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/constrain.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/containers.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/control.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/default_styles.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/diagnose.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/emoji.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/errors.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/file_proxy.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/filesize.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/highlighter.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/json.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/jupyter.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/layout.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/live.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/live_render.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/logging.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/markup.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/measure.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/padding.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/pager.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/palette.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/panel.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/pretty.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/progress.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/progress_bar.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/prompt.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/protocol.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/region.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/repr.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/rule.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/scope.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/screen.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/segment.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/spinner.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/status.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/style.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/styled.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/syntax.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/table.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/terminal_theme.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/text.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/theme.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/themes.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/traceback.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/tree.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/_cell_widths.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/_emoji_codes.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/_emoji_replace.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/_export_format.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/_extension.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/_fileno.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/_inspect.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/_log_render.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/_loop.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/_null_file.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/_palettes.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/_pick.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/_ratio.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/_spinners.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/_stack.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/_timer.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/_win32_console.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/_windows.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/_windows_renderer.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/_wrap.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/abc.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/align.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/ansi.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/bar.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/box.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/cells.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/color.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/color_triplet.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/columns.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/console.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/constrain.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/containers.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/control.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/default_styles.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/diagnose.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/emoji.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/errors.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/file_proxy.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/filesize.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/highlighter.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/json.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/jupyter.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/layout.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/live.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/live_render.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/logging.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/markup.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/measure.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/padding.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/pager.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/palette.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/panel.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/pretty.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/progress.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/progress_bar.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/prompt.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/protocol.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/py.typed
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/region.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/repr.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/rule.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/scope.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/screen.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/segment.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/spinner.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/status.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/style.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/styled.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/syntax.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/table.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/terminal_theme.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/text.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/theme.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/themes.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/traceback.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/rich/tree.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/tomli/LICENSE
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/tomli/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/tomli/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/tomli/__pycache__/_parser.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/tomli/__pycache__/_re.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/tomli/__pycache__/_types.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/tomli/_parser.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/tomli/_re.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/tomli/_types.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/tomli/py.typed
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/tomli_w/LICENSE
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/tomli_w/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/tomli_w/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/tomli_w/__pycache__/_writer.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/tomli_w/_writer.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/tomli_w/py.typed
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/truststore/LICENSE
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/truststore/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_api.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_macos.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_openssl.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_ssl_constants.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_windows.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/truststore/_api.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/truststore/_macos.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/truststore/_openssl.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/truststore/_ssl_constants.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/truststore/_windows.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/truststore/py.typed
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/LICENSE.txt
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/_base_connection.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/_collections.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/_request_methods.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/_version.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/connection.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/connectionpool.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/exceptions.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/fields.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/filepost.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/poolmanager.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/response.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/_base_connection.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/_collections.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/_request_methods.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/_version.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/connection.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/connectionpool.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/pyopenssl.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/socks.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/__pycache__/connection.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/__pycache__/fetch.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/__pycache__/request.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/__pycache__/response.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/connection.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/emscripten_fetch_worker.js
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/fetch.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/request.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/response.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/socks.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/exceptions.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/fields.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/filepost.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/http2/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/http2/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/http2/__pycache__/connection.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/http2/__pycache__/probe.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/http2/connection.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/http2/probe.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/poolmanager.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/py.typed
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/response.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__init__.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/__init__.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/connection.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/proxy.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/request.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/response.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/retry.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_match_hostname.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/ssltransport.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/timeout.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/url.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/util.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/wait.cpython-312.pyc
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/connection.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/proxy.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/request.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/response.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/retry.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/ssl_.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/ssl_match_hostname.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/ssltransport.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/timeout.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/url.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/util.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/wait.py
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/_vendor/vendor.txt
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/py.typed
0.003873116002068855
  Will actually move:
    /tmp/tmp.Kc5V6vxYyN/.new_env/bin/pip
    /tmp/tmp.Kc5V6vxYyN/.new_env/bin/pip3
    /tmp/tmp.Kc5V6vxYyN/.new_env/bin/pip3.12
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip-26.2.dev0.dist-info/
    /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/
Proceed (Y/n)? y
  Created temporary directory: /tmp/pip-uninstall-8w5ldcr8
  Removing file or directory /tmp/tmp.Kc5V6vxYyN/.new_env/bin/pip
  Removing file or directory /tmp/tmp.Kc5V6vxYyN/.new_env/bin/pip3
  Removing file or directory /tmp/tmp.Kc5V6vxYyN/.new_env/bin/pip3.12
  Created temporary directory: /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/~ip-26.2.dev0.dist-info
  Removing file or directory /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip-26.2.dev0.dist-info/
  Created temporary directory: /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/~ip
  Removing file or directory /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/
  Successfully uninstalled pip-26.2.dev0
(.venv) vfazio@Zephyrus:/tmp/tmp.Kc5V6vxYyN$ tree /tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/
/tmp/tmp.Kc5V6vxYyN/.new_env/lib/python3.12/site-packages/pip/  [error opening dir]

0 directories, 0 files

@pfmoore
Copy link
Copy Markdown
Member

pfmoore commented May 3, 2026

@vfazio no worries :)

Agreed, these things happen.

Reverting feels to me to be the safest option. A quick PR to just walk __pycache__ sounds attractive, but in my experience, making a "quick fix" while feeling under time pressure and when you feel responsible for causing the problem in the first place is when it's easiest to make silly mistakes. If we revert, you can take a breath, realise that no harm was done, and take a new look at the best way forward.

@vfazio
Copy link
Copy Markdown
Contributor Author

vfazio commented May 3, 2026

Do i need to open a PR for the revert or will a maintainer just do that? I don't see a 26.x branch to target so i assume things just get cherry-picked or reverted on top of the tag ref?

@sbidoul
Copy link
Copy Markdown
Member

sbidoul commented May 3, 2026

I opened the revert PR at #13973. Uninstallation is notoriously tricky, so it's better to not rush a fix under pressure.

@notatallshaw
Copy link
Copy Markdown
Member

@vfazio no worries :)

Agreed, these things happen.

I'd just like to add on to this that as the pip maintainer that merged the PR it is ultimately my responsibility for any fallout. And I really appreciate that you proactively found issues reported on other repos and correlated them back to pip.

@vfazio
Copy link
Copy Markdown
Contributor Author

vfazio commented May 3, 2026

I opened the revert PR at #13973. Uninstallation is notoriously tricky, so it's better to not rush a fix under pressure.

Thanks! Sorry for the hassle everyone.

@vfazio vfazio marked this pull request as draft May 3, 2026 22:08
@vfazio
Copy link
Copy Markdown
Contributor Author

vfazio commented May 3, 2026

Since we're taking a different tack, I will close this out with a different solution presented

@vfazio vfazio closed this May 3, 2026
@notatallshaw
Copy link
Copy Markdown
Member

Sorry if I'm repeating things here but here's my summary of the issue:

compress_for_rename was not designed for directories, so when, walking the parent it finds files inside that directory that aren't in the input set, so the wildcard rollup that would normally consume the parent package directory never fires.

This triggers for packages whose RECORD lists __pycache__ directory entries, e.g. pip and setuptools seeded by virtualenv (but not venv).

pip uninstall pip in a virtualenv-seeded venv leaves a bunch of empty pip directories behind, and those empty directories satisfy the PEP 420 import namespace mechanism so import pip._internal keeps working.

@sbidoul
Copy link
Copy Markdown
Member

sbidoul commented May 4, 2026

This triggers for packages whose RECORD lists pycache directory entries, e.g. pip and setuptools seeded by virtualenv (but not venv).

I think it applies in broader circumstances? For instance I could reproduce with pip install werkzeug ; python -c "import werkzeug" ; pip uninstall werkzeug which left the werkzeug directory and subdirectories behind.

@vfazio
Copy link
Copy Markdown
Contributor Author

vfazio commented May 4, 2026

Sorry, I didn't provide a complete RCA post-mortem.

The problem is partially captured in 37d4f84:

The problem occurs if the final paths list includes a directory (it doesn't matter if it's via RECORD or via programmatic addition) and there are files in that directory that are not in the final path list (so not in RECORD or added programmatically).

You can actually reproduce this in earlier versions of pip without my changes using virtualenv because virtualenv adds __pycache__ to the RECORD (part of the shenanigans I mentioned earlier in #13964 (comment))

(.venv) vfazio@vfazio4:/tmp/tmp.OWwCbNcYli$ grep pycache /tmp/tmp.OWwCbNcYli/.new_venv/lib/python3.12/site-packages/pip-26.0.dist-info/RECORD  | head -n3
pip-26.0.dist-info/licenses/src/pip/_vendor/idna/__pycache__,,
pip/_internal/__pycache__,,
pip-26.0.dist-info/licenses/src/pip/_vendor/truststore/__pycache__,,
# create a new venv
virtualenv .new_venv --pip=26.0 --setuptools=82.0.1

# run pip and look at the file list
.new_venv/bin/python3 -m pip -vv uninstall pip

# run it at a different optimization level and look at the file list
PYTHONOPTIMIZE=2 .new_venv/bin/python3 -m pip -vv uninstall pip

# the well is now poisoned and will never be correct

This is, in a way, #11835 on steroids.

Because there are files on disk that are not described in the file list to remove, the parent directories of those holding the files are prevented from becoming wildcards (because we may be removing files we do not own as part of the distribution).

As previously mentioned, compress_for_rename doesn't have actual support for directories so when a directory is in the list it's treated like a file and basically pollutes the pool of remaining files to find and the files covered by that directory are still allowed to affect wildcard calculation, so despite saying "delete __pycache__/*" it's "delete __pycache__". The files we find that are under this directory contribute to the "diff":

        # If all the files we found are in our remaining set of files to
        # remove, then remove them from the latter set and add a wildcard
        # for the directory.
        if not (all_files - remaining):
            remaining.difference_update(all_files)
            wildcards.add(root + os.sep)

Since the files are not described in remaining but are in the all_files set, it cannot become a wildcard.

The fun part is that despite the files not being in the list and preventing the directories from rolling up, the files get removed anyway, which is a sick twist on #13939. In this case __pycache__ is in the original list of files to remove, stays there because it's treated like a file and not a path and is never found when doing os.walk. The "steps to perform" are basically a union of individual file removal (the files in the remaining set) and directory deletions (the files in the wildcards set). When StashedUninstallPathSet.stash actually handles stashing, it does a stat to determine if the entry in the result set is a directory or a file. Despite being treated as a file in compress_for_rename, here it's found to be a directory and it and all files it owns are removed... leaving all of the parent directories empty when they could have been collapsed.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants