Closed NeilGirdhar closed 2 months ago
It looks like you're using pyenv which is creating a shim for hatch
(/home/neil/.pyenv/shims/hatch
). I'm a little murky on the details of how pyenv works, but I think it's forwarding your pip install
command to its own shim which handles these things. We can't support that.
Can you share verbose uv logs? What interpreter are we installing into?
You're right that I'm using pyenv. No worries if you can't support that. Can I replace pyenv with uv on my system, and just have uv manage a system-wide venv?
Can you share verbose uv logs?
Sure, how do I do that?
What interpreter are we installing into?
You mean which Python version? 3.12
uv won't manage a system-wide environment yet, we require separate environments. You can use it to install Python, e.g. uv python install
. And you can use it to install global tools, e.g., uv tool install hatch
to install it on your system instead.
Add the --verbose
/ -v
flag to get more logs, e.g.
uv pip install hatch --system -v
❯ uv pip install hatch --system -v
DEBUG uv 0.3.5
DEBUG Searching for Python interpreter in system path
DEBUG Found `cpython-3.12.4-linux-x86_64-gnu` at `/home/neil/.pyenv/versions/3.12.4/bin/python3` (search path)
DEBUG Using Python 3.12.4 environment at /home/neil/.pyenv/versions/3.12.4/bin/python3
DEBUG Acquired lock for `/home/neil/.pyenv/versions/3.12.4`
DEBUG At least one requirement is not satisfied: hatch
DEBUG Using request timeout of 30s
DEBUG Solving with installed Python version: 3.12.4
DEBUG Adding direct dependency: hatch*
DEBUG Found fresh response for: https://pypi.org/simple/hatch/
DEBUG Searching for a compatible version of hatch (*)
DEBUG Selecting: hatch==1.12.0 [compatible] (hatch-1.12.0-py3-none-any.whl)
DEBUG Found fresh response for: https://files.pythonhosted.org/packages/b7/ad/63c1df39881b13ff1aad632809a680dabdcd40bf65a05c5194b41698b8b3/hatch-1.12.0-py3-none-any.whl.metadata
DEBUG Adding transitive dependency for hatch==1.12.0: click>=8.0.6
DEBUG Adding transitive dependency for hatch==1.12.0: hatchling>=1.24.2
DEBUG Adding transitive dependency for hatch==1.12.0: httpx>=0.22.0
DEBUG Adding transitive dependency for hatch==1.12.0: hyperlink>=21.0.0
DEBUG Adding transitive dependency for hatch==1.12.0: keyring>=23.5.0
DEBUG Adding transitive dependency for hatch==1.12.0: packaging>=23.2
DEBUG Adding transitive dependency for hatch==1.12.0: pexpect>=4.8, <5.dev0
DEBUG Adding transitive dependency for hatch==1.12.0: platformdirs>=2.5.0
DEBUG Adding transitive dependency for hatch==1.12.0: rich>=11.2.0
DEBUG Adding transitive dependency for hatch==1.12.0: shellingham>=1.4.0
DEBUG Adding transitive dependency for hatch==1.12.0: tomli-w>=1.0
DEBUG Adding transitive dependency for hatch==1.12.0: tomlkit>=0.11.1
DEBUG Adding transitive dependency for hatch==1.12.0: userpath>=1.7, <2.dev0
DEBUG Adding transitive dependency for hatch==1.12.0: uv>=0.1.35
DEBUG Adding transitive dependency for hatch==1.12.0: virtualenv>=20.26.1
DEBUG Adding transitive dependency for hatch==1.12.0: zstandard<1
DEBUG Found fresh response for: https://pypi.org/simple/click/
DEBUG Found fresh response for: https://pypi.org/simple/hatchling/
DEBUG Searching for a compatible version of click (>=8.0.6)
DEBUG Found installed version of click==8.1.7 that satisfies >=8.0.6
DEBUG Selecting: click==8.1.7 [installed] (installed)
DEBUG Found fresh response for: https://pypi.org/simple/hyperlink/
DEBUG Found fresh response for: https://pypi.org/simple/httpx/
DEBUG Found fresh response for: https://pypi.org/simple/platformdirs/
DEBUG Found fresh response for: https://pypi.org/simple/packaging/
DEBUG Found fresh response for: https://pypi.org/simple/shellingham/
DEBUG Found fresh response for: https://pypi.org/simple/userpath/
DEBUG Found fresh response for: https://pypi.org/simple/tomlkit/
DEBUG Found installed version of userpath==1.9.2 that satisfies >=1.7, <2.dev0
DEBUG Found installed version of tomlkit==0.13.2 that satisfies >=0.11.1
DEBUG Found installed version of shellingham==1.5.4 that satisfies >=1.4.0
DEBUG Found installed version of platformdirs==4.2.2 that satisfies >=2.5.0
DEBUG Found installed version of packaging==24.1 that satisfies >=23.2
DEBUG Found installed version of hyperlink==21.0.0 that satisfies >=21.0.0
DEBUG Found installed version of httpx==0.27.0 that satisfies >=0.22.0
DEBUG Found installed version of hatchling==1.25.0 that satisfies >=1.24.2
DEBUG Found installed version of click==8.1.7 that satisfies >=8.0.6
DEBUG Found fresh response for: https://pypi.org/simple/pexpect/
DEBUG Found fresh response for: https://pypi.org/simple/keyring/
DEBUG Found fresh response for: https://pypi.org/simple/tomli-w/
DEBUG Found fresh response for: https://pypi.org/simple/virtualenv/
DEBUG Searching for a compatible version of hatchling (>=1.24.2)
DEBUG Found installed version of hatchling==1.25.0 that satisfies >=1.24.2
DEBUG Selecting: hatchling==1.25.0 [installed] (installed)
DEBUG Adding transitive dependency for hatchling==1.25.0: packaging>=23.2
DEBUG Adding transitive dependency for hatchling==1.25.0: pathspec>=0.10.1
DEBUG Adding transitive dependency for hatchling==1.25.0: pluggy>=1.0.0
DEBUG Adding transitive dependency for hatchling==1.25.0: trove-classifiers*
DEBUG Searching for a compatible version of httpx (>=0.22.0)
DEBUG Found installed version of httpx==0.27.0 that satisfies >=0.22.0
DEBUG Selecting: httpx==0.27.0 [installed] (installed)
DEBUG Found fresh response for: https://pypi.org/simple/rich/
DEBUG Adding transitive dependency for httpx==0.27.0: anyio*
DEBUG Adding transitive dependency for httpx==0.27.0: certifi*
DEBUG Adding transitive dependency for httpx==0.27.0: httpcore>=1.dev0, <2.dev0
DEBUG Adding transitive dependency for httpx==0.27.0: idna*
DEBUG Adding transitive dependency for httpx==0.27.0: sniffio*
DEBUG Searching for a compatible version of hyperlink (>=21.0.0)
DEBUG Found installed version of hyperlink==21.0.0 that satisfies >=21.0.0
DEBUG Selecting: hyperlink==21.0.0 [installed] (installed)
DEBUG Adding transitive dependency for hyperlink==21.0.0: idna>=2.5
DEBUG Searching for a compatible version of keyring (>=23.5.0)
DEBUG Found installed version of keyring==24.3.1 that satisfies >=23.5.0
DEBUG Selecting: keyring==24.3.1 [installed] (installed)
DEBUG Found installed version of pexpect==4.9.0 that satisfies >=4.8, <5.dev0
DEBUG Found installed version of keyring==24.3.1 that satisfies >=23.5.0
DEBUG Found installed version of tomli-w==1.0.0 that satisfies >=1.0
DEBUG Found installed version of virtualenv==20.26.3 that satisfies >=20.26.1
DEBUG Found fresh response for: https://pypi.org/simple/zstandard/
DEBUG Found installed version of rich==13.8.0 that satisfies >=11.2.0
DEBUG Found fresh response for: https://pypi.org/simple/pluggy/
DEBUG Found fresh response for: https://pypi.org/simple/uv/
DEBUG Adding transitive dependency for keyring==24.3.1: jaraco-classes*
DEBUG Adding transitive dependency for keyring==24.3.1: secretstorage{sys_platform == 'linux'}>=3.2
DEBUG Adding transitive dependency for keyring==24.3.1: jeepney{sys_platform == 'linux'}>=0.4.2
DEBUG Searching for a compatible version of packaging (>=23.2)
DEBUG Found installed version of packaging==24.1 that satisfies >=23.2
DEBUG Selecting: packaging==24.1 [installed] (installed)
DEBUG Searching for a compatible version of pexpect (>=4.8, <5.dev0)
DEBUG Found installed version of pexpect==4.9.0 that satisfies >=4.8, <5.dev0
DEBUG Selecting: pexpect==4.9.0 [installed] (installed)
DEBUG Adding transitive dependency for pexpect==4.9.0: ptyprocess>=0.5
DEBUG Searching for a compatible version of platformdirs (>=2.5.0)
DEBUG Found installed version of platformdirs==4.2.2 that satisfies >=2.5.0
DEBUG Selecting: platformdirs==4.2.2 [installed] (installed)
DEBUG Searching for a compatible version of rich (>=11.2.0)
DEBUG Found installed version of rich==13.8.0 that satisfies >=11.2.0
DEBUG Selecting: rich==13.8.0 [installed] (installed)
DEBUG Adding transitive dependency for rich==13.8.0: markdown-it-py>=2.2.0
DEBUG Adding transitive dependency for rich==13.8.0: pygments>=2.13.0, <3.0.0
DEBUG Searching for a compatible version of shellingham (>=1.4.0)
DEBUG Found installed version of shellingham==1.5.4 that satisfies >=1.4.0
DEBUG Selecting: shellingham==1.5.4 [installed] (installed)
DEBUG Searching for a compatible version of tomli-w (>=1.0)
DEBUG Found installed version of tomli-w==1.0.0 that satisfies >=1.0
DEBUG Selecting: tomli-w==1.0.0 [installed] (installed)
DEBUG Searching for a compatible version of tomlkit (>=0.11.1)
DEBUG Found installed version of tomlkit==0.13.2 that satisfies >=0.11.1
DEBUG Selecting: tomlkit==0.13.2 [installed] (installed)
DEBUG Searching for a compatible version of userpath (>=1.7, <2.dev0)
DEBUG Found installed version of userpath==1.9.2 that satisfies >=1.7, <2.dev0
DEBUG Selecting: userpath==1.9.2 [installed] (installed)
DEBUG Adding transitive dependency for userpath==1.9.2: click*
DEBUG Found fresh response for: https://pypi.org/simple/pathspec/
DEBUG Searching for a compatible version of uv (>=0.1.35)
DEBUG Found installed version of uv==0.3.5 that satisfies >=0.1.35
DEBUG Selecting: uv==0.3.5 [installed] (installed)
DEBUG Found fresh response for: https://pypi.org/simple/trove-classifiers/
DEBUG Found installed version of zstandard==0.23.0 that satisfies <1
DEBUG Found fresh response for: https://pypi.org/simple/idna/
DEBUG Found fresh response for: https://pypi.org/simple/sniffio/
DEBUG Found fresh response for: https://pypi.org/simple/certifi/
DEBUG Found fresh response for: https://pypi.org/simple/httpcore/
DEBUG Found installed version of pluggy==1.5.0 that satisfies >=1.0.0
DEBUG Found fresh response for: https://pypi.org/simple/anyio/
DEBUG Found installed version of uv==0.3.5 that satisfies >=0.1.35
DEBUG Found installed version of pathspec==0.12.1 that satisfies >=0.10.1
DEBUG Found installed version of trove-classifiers==2024.7.2 that satisfies *
DEBUG Found installed version of idna==3.8 that satisfies *
DEBUG Searching for a compatible version of virtualenv (>=20.26.1)
DEBUG Found installed version of idna==3.8 that satisfies >=2.5
DEBUG Found installed version of virtualenv==20.26.3 that satisfies >=20.26.1
DEBUG Found installed version of sniffio==1.3.1 that satisfies *
DEBUG Selecting: virtualenv==20.26.3 [installed] (installed)
DEBUG Found installed version of certifi==2024.7.4 that satisfies *
DEBUG Found installed version of httpcore==1.0.5 that satisfies >=1.dev0, <2.dev0
DEBUG Adding transitive dependency for virtualenv==20.26.3: distlib>=0.3.7, <1
DEBUG Adding transitive dependency for virtualenv==20.26.3: filelock>=3.12.2, <4
DEBUG Adding transitive dependency for virtualenv==20.26.3: platformdirs>=3.9.1, <5
DEBUG Found installed version of anyio==4.4.0 that satisfies *
DEBUG Searching for a compatible version of zstandard (<1)
DEBUG Found installed version of zstandard==0.23.0 that satisfies <1
DEBUG Selecting: zstandard==0.23.0 [installed] (installed)
DEBUG Searching for a compatible version of pathspec (>=0.10.1)
DEBUG Found installed version of pathspec==0.12.1 that satisfies >=0.10.1
DEBUG Found fresh response for: https://pypi.org/simple/ptyprocess/
DEBUG Selecting: pathspec==0.12.1 [installed] (installed)
DEBUG Found fresh response for: https://pypi.org/simple/jeepney/
DEBUG Searching for a compatible version of pluggy (>=1.0.0)
DEBUG Found installed version of pluggy==1.5.0 that satisfies >=1.0.0
DEBUG Found fresh response for: https://pypi.org/simple/markdown-it-py/
DEBUG Selecting: pluggy==1.5.0 [installed] (installed)
DEBUG Searching for a compatible version of trove-classifiers (*)
DEBUG Found installed version of trove-classifiers==2024.7.2 that satisfies *
DEBUG Selecting: trove-classifiers==2024.7.2 [installed] (installed)
DEBUG Found fresh response for: https://pypi.org/simple/secretstorage/
DEBUG Searching for a compatible version of anyio (*)
DEBUG Found fresh response for: https://pypi.org/simple/jaraco-classes/
DEBUG Found installed version of anyio==4.4.0 that satisfies *
DEBUG Selecting: anyio==4.4.0 [installed] (installed)
DEBUG Found fresh response for: https://pypi.org/simple/pygments/
DEBUG Adding transitive dependency for anyio==4.4.0: idna>=2.8
DEBUG Adding transitive dependency for anyio==4.4.0: sniffio>=1.1
DEBUG Searching for a compatible version of certifi (*)
DEBUG Found installed version of certifi==2024.7.4 that satisfies *
DEBUG Selecting: certifi==2024.7.4 [installed] (installed)
DEBUG Searching for a compatible version of httpcore (>=1.dev0, <2.dev0)
DEBUG Found installed version of ptyprocess==0.7.0 that satisfies >=0.5
DEBUG Found installed version of httpcore==1.0.5 that satisfies >=1.dev0, <2.dev0
DEBUG Selecting: httpcore==1.0.5 [installed] (installed)
DEBUG Found installed version of markdown-it-py==3.0.0 that satisfies >=2.2.0
DEBUG Adding transitive dependency for httpcore==1.0.5: certifi*
DEBUG Adding transitive dependency for httpcore==1.0.5: h11>=0.13, <0.15
DEBUG Searching for a compatible version of idna (>=2.8)
DEBUG Found installed version of idna==3.8 that satisfies >=2.8
DEBUG Selecting: idna==3.8 [installed] (installed)
DEBUG Found installed version of jaraco-classes==3.4.0 that satisfies *
DEBUG Searching for a compatible version of sniffio (>=1.1)
DEBUG Found installed version of sniffio==1.3.1 that satisfies >=1.1
DEBUG Selecting: sniffio==1.3.1 [installed] (installed)
DEBUG Searching for a compatible version of jaraco-classes (*)
DEBUG Found installed version of pygments==2.18.0 that satisfies >=2.13.0, <3.0.0
DEBUG Found installed version of jaraco-classes==3.4.0 that satisfies *
DEBUG Selecting: jaraco-classes==3.4.0 [installed] (installed)
DEBUG Found installed version of idna==3.8 that satisfies >=2.8
DEBUG Found installed version of sniffio==1.3.1 that satisfies >=1.1
DEBUG Adding transitive dependency for jaraco-classes==3.4.0: more-itertools*
DEBUG Found fresh response for: https://pypi.org/simple/distlib/
DEBUG Searching for a compatible version of secretstorage{sys_platform == 'linux'} (>=3.2)
DEBUG Found installed version of secretstorage==3.3.3 that satisfies >=3.2
DEBUG Selecting: secretstorage==3.3.3 [installed] (installed)
DEBUG Found fresh response for: https://pypi.org/simple/filelock/
DEBUG Adding transitive dependency for secretstorage==3.3.3: secretstorage==3.3.3
DEBUG Adding transitive dependency for secretstorage==3.3.3: secretstorage{sys_platform == 'linux'}==3.3.3
DEBUG Searching for a compatible version of secretstorage{sys_platform == 'linux'} (==3.3.3)
DEBUG Found installed version of secretstorage==3.3.3 that satisfies ==3.3.3
DEBUG Selecting: secretstorage==3.3.3 [installed] (installed)
DEBUG Found installed version of distlib==0.3.8 that satisfies >=0.3.7, <1
DEBUG Found fresh response for: https://pypi.org/simple/h11/
DEBUG Found installed version of filelock==3.15.4 that satisfies >=3.12.2, <4
DEBUG Found installed version of secretstorage==3.3.3 that satisfies ==3.3.3
DEBUG Found installed version of h11==0.14.0 that satisfies >=0.13, <0.15
DEBUG Adding transitive dependency for secretstorage==3.3.3: cryptography>=2.0
DEBUG Adding transitive dependency for secretstorage==3.3.3: jeepney>=0.6
DEBUG Found fresh response for: https://pypi.org/simple/more-itertools/
DEBUG Searching for a compatible version of secretstorage (==3.3.3)
DEBUG Found installed version of secretstorage==3.3.3 that satisfies ==3.3.3
DEBUG Selecting: secretstorage==3.3.3 [installed] (installed)
DEBUG Adding transitive dependency for secretstorage==3.3.3: cryptography>=2.0
DEBUG Found installed version of more-itertools==10.4.0 that satisfies *
DEBUG Adding transitive dependency for secretstorage==3.3.3: jeepney>=0.6
DEBUG Found installed version of jeepney==0.8.0 that satisfies >=0.6
DEBUG Searching for a compatible version of jeepney{sys_platform == 'linux'} (>=0.4.2)
DEBUG Found installed version of jeepney==0.8.0 that satisfies >=0.4.2
DEBUG Selecting: jeepney==0.8.0 [installed] (installed)
DEBUG Adding transitive dependency for jeepney==0.8.0: jeepney==0.8.0
DEBUG Adding transitive dependency for jeepney==0.8.0: jeepney{sys_platform == 'linux'}==0.8.0
DEBUG Searching for a compatible version of jeepney (==0.8.0)
DEBUG Found installed version of jeepney==0.8.0 that satisfies ==0.8.0
DEBUG Found installed version of jeepney==0.8.0 that satisfies ==0.8.0
DEBUG Selecting: jeepney==0.8.0 [installed] (installed)
DEBUG Searching for a compatible version of jeepney{sys_platform == 'linux'} (==0.8.0)
DEBUG Found installed version of jeepney==0.8.0 that satisfies ==0.8.0
DEBUG Selecting: jeepney==0.8.0 [installed] (installed)
DEBUG Searching for a compatible version of ptyprocess (>=0.5)
DEBUG Found installed version of ptyprocess==0.7.0 that satisfies >=0.5
DEBUG Selecting: ptyprocess==0.7.0 [installed] (installed)
DEBUG Searching for a compatible version of markdown-it-py (>=2.2.0)
DEBUG Found installed version of markdown-it-py==3.0.0 that satisfies >=2.2.0
DEBUG Selecting: markdown-it-py==3.0.0 [installed] (installed)
DEBUG Adding transitive dependency for markdown-it-py==3.0.0: mdurl>=0.1, <1.dev0
DEBUG Searching for a compatible version of pygments (>=2.13.0, <3.0.0)
DEBUG Found installed version of pygments==2.18.0 that satisfies >=2.13.0, <3.0.0
DEBUG Selecting: pygments==2.18.0 [installed] (installed)
DEBUG Searching for a compatible version of distlib (>=0.3.7, <1)
DEBUG Found installed version of distlib==0.3.8 that satisfies >=0.3.7, <1
DEBUG Selecting: distlib==0.3.8 [installed] (installed)
DEBUG Searching for a compatible version of filelock (>=3.12.2, <4)
DEBUG Found installed version of filelock==3.15.4 that satisfies >=3.12.2, <4
DEBUG Selecting: filelock==3.15.4 [installed] (installed)
DEBUG Searching for a compatible version of h11 (>=0.13, <0.15)
DEBUG Found installed version of h11==0.14.0 that satisfies >=0.13, <0.15
DEBUG Selecting: h11==0.14.0 [installed] (installed)
DEBUG Found fresh response for: https://pypi.org/simple/mdurl/
DEBUG Searching for a compatible version of more-itertools (*)
DEBUG Found installed version of more-itertools==10.4.0 that satisfies *
DEBUG Selecting: more-itertools==10.4.0 [installed] (installed)
DEBUG Found installed version of mdurl==0.1.2 that satisfies >=0.1, <1.dev0
DEBUG Found fresh response for: https://pypi.org/simple/cryptography/
DEBUG Found installed version of cryptography==43.0.0 that satisfies >=2.0
DEBUG Searching for a compatible version of cryptography (>=2.0)
DEBUG Found installed version of cryptography==43.0.0 that satisfies >=2.0
DEBUG Selecting: cryptography==43.0.0 [installed] (installed)
DEBUG Adding transitive dependency for cryptography==43.0.0: cffi{platform_python_implementation != 'PyPy'}>=1.12
DEBUG Searching for a compatible version of mdurl (>=0.1, <1.dev0)
DEBUG Found installed version of mdurl==0.1.2 that satisfies >=0.1, <1.dev0
DEBUG Selecting: mdurl==0.1.2 [installed] (installed)
DEBUG Found fresh response for: https://pypi.org/simple/cffi/
DEBUG Searching for a compatible version of cffi{platform_python_implementation != 'PyPy'} (>=1.12)
DEBUG Found installed version of cffi==1.17.0 that satisfies >=1.12
DEBUG Selecting: cffi==1.17.0 [installed] (installed)
DEBUG Adding transitive dependency for cffi==1.17.0: cffi==1.17.0
DEBUG Adding transitive dependency for cffi==1.17.0: cffi{platform_python_implementation != 'PyPy'}==1.17.0
DEBUG Searching for a compatible version of cffi{platform_python_implementation != 'PyPy'} (==1.17.0)
DEBUG Found installed version of cffi==1.17.0 that satisfies ==1.17.0
DEBUG Found installed version of cffi==1.17.0 that satisfies ==1.17.0
DEBUG Selecting: cffi==1.17.0 [installed] (installed)
DEBUG Adding transitive dependency for cffi==1.17.0: pycparser*
DEBUG Searching for a compatible version of cffi (==1.17.0)
DEBUG Found installed version of cffi==1.17.0 that satisfies ==1.17.0
DEBUG Selecting: cffi==1.17.0 [installed] (installed)
DEBUG Adding transitive dependency for cffi==1.17.0: pycparser*
DEBUG Found fresh response for: https://pypi.org/simple/pycparser/
DEBUG Found installed version of pycparser==2.22 that satisfies *
DEBUG Searching for a compatible version of pycparser (*)
DEBUG Found installed version of pycparser==2.22 that satisfies *
DEBUG Selecting: pycparser==2.22 [installed] (installed)
DEBUG Tried 39 versions: anyio 1, certifi 1, cffi 1, click 1, cryptography 1, distlib 1, filelock 1, h11 1, hatch 1, hatchling 1, httpcore 1, httpx 1, hyperlink 1, idna 1, jaraco-classes 1, jeepney 1, keyring 1, markdown-it-py 1, mdurl 1, more-itertools 1, packaging 1, pathspec 1, pexpect 1, platformdirs 1, plu
ggy 1, ptyprocess 1, pycparser 1, pygments 1, rich 1, secretstorage 1, shellingham 1, sniffio 1, tomli-w 1, tomlkit 1, trove-classifiers 1, userpath 1, uv 1, virtualenv 1, zstandard 1
DEBUG Split specific environment resolution took 0.009s
Resolved 39 packages in 9ms
DEBUG Requirement already installed: anyio==4.4.0
DEBUG Requirement already installed: certifi==2024.7.4
DEBUG Requirement already installed: cffi==1.17.0
DEBUG Requirement already installed: click==8.1.7
DEBUG Requirement already installed: cryptography==43.0.0
DEBUG Requirement already installed: distlib==0.3.8
DEBUG Requirement already installed: filelock==3.15.4
DEBUG Requirement already installed: h11==0.14.0
DEBUG Requirement already cached: hatch==1.12.0
DEBUG Requirement already installed: hatchling==1.25.0
DEBUG Requirement already installed: httpcore==1.0.5
DEBUG Requirement already installed: httpx==0.27.0
DEBUG Requirement already installed: hyperlink==21.0.0
DEBUG Requirement already installed: idna==3.8
DEBUG Requirement already installed: jaraco-classes==3.4.0
DEBUG Requirement already installed: jeepney==0.8.0
DEBUG Requirement already installed: keyring==24.3.1
DEBUG Requirement already installed: markdown-it-py==3.0.0
DEBUG Requirement already installed: mdurl==0.1.2
DEBUG Requirement already installed: more-itertools==10.4.0
DEBUG Requirement already installed: packaging==24.1
DEBUG Requirement already installed: pathspec==0.12.1
DEBUG Requirement already installed: pexpect==4.9.0
DEBUG Requirement already installed: platformdirs==4.2.2
DEBUG Requirement already installed: pluggy==1.5.0
DEBUG Requirement already installed: ptyprocess==0.7.0
DEBUG Requirement already installed: pycparser==2.22
DEBUG Requirement already installed: pygments==2.18.0
DEBUG Requirement already installed: rich==13.8.0
DEBUG Requirement already installed: secretstorage==3.3.3
DEBUG Requirement already installed: shellingham==1.5.4
DEBUG Requirement already installed: sniffio==1.3.1
DEBUG Requirement already installed: tomli-w==1.0.0
DEBUG Requirement already installed: tomlkit==0.13.2
DEBUG Requirement already installed: trove-classifiers==2024.7.2
DEBUG Requirement already installed: userpath==1.9.2
DEBUG Requirement already installed: uv==0.3.5
DEBUG Requirement already installed: virtualenv==20.26.3
DEBUG Requirement already installed: zstandard==0.23.0
DEBUG Unnecessary package: markupsafe==2.1.5
DEBUG Unnecessary package: pyyaml==6.0.2
DEBUG Unnecessary package: qtpy==2.4.1
DEBUG Unnecessary package: send2trash==1.8.3
DEBUG Unnecessary package: absl-py==2.1.0
DEBUG Unnecessary package: argcomplete==3.5.0
DEBUG Unnecessary package: argon2-cffi==23.1.0
DEBUG Unnecessary package: argon2-cffi-bindings==21.2.0
DEBUG Unnecessary package: arrow==1.3.0
DEBUG Unnecessary package: astroid==3.2.4
DEBUG Unnecessary package: asttokens==2.4.1
DEBUG Unnecessary package: async-lru==2.0.4
DEBUG Unnecessary package: attrs==24.2.0
DEBUG Unnecessary package: babel==2.16.0
DEBUG Unnecessary package: beartype==0.18.5
DEBUG Unnecessary package: beautifulsoup4==4.12.3
DEBUG Unnecessary package: bleach==6.1.0
DEBUG Unnecessary package: build==1.2.1
DEBUG Unnecessary package: cachecontrol==0.14.0
DEBUG Unnecessary package: cfgv==3.4.0
DEBUG Unnecessary package: charset-normalizer==3.3.2
DEBUG Unnecessary package: chex==0.1.86
DEBUG Unnecessary package: cleo==2.1.0
DEBUG Unnecessary package: comm==0.2.2
DEBUG Unnecessary package: crashtest==0.4.1
DEBUG Unnecessary package: debugpy==1.8.5
DEBUG Unnecessary package: decorator==5.1.1
DEBUG Unnecessary package: defusedxml==0.7.1
DEBUG Unnecessary package: dill==0.3.8
DEBUG Unnecessary package: docstring-to-markdown==0.15
DEBUG Unnecessary package: dulwich==0.21.7
DEBUG Unnecessary package: equinox==0.11.4
DEBUG Unnecessary package: etils==1.9.2
DEBUG Unnecessary package: execnet==2.1.1
DEBUG Unnecessary package: executing==2.0.1
DEBUG Unnecessary package: fastjsonschema==2.20.0
DEBUG Unnecessary package: fqdn==1.5.1
DEBUG Unnecessary package: graph-imports==0.1 (from file:///home/neil/src/graph_imports)
DEBUG Unnecessary package: greenlet==3.0.3
DEBUG Unnecessary package: identify==2.6.0
DEBUG Unnecessary package: iniconfig==2.0.0
DEBUG Unnecessary package: installer==0.7.0
DEBUG Unnecessary package: ipykernel==6.29.5
DEBUG Unnecessary package: ipython==8.26.0
DEBUG Unnecessary package: ipywidgets==8.1.5
DEBUG Unnecessary package: isoduration==20.11.0
DEBUG Unnecessary package: isort==5.13.2
DEBUG Unnecessary package: jax==0.4.31
DEBUG Unnecessary package: jaxlib==0.4.31
DEBUG Unnecessary package: jaxtyping==0.2.33
DEBUG Unnecessary package: jedi==0.19.1
DEBUG Unnecessary package: jinja2==3.1.4
DEBUG Unnecessary package: json5==0.9.25
DEBUG Unnecessary package: jsonpointer==3.0.0
DEBUG Unnecessary package: jsonschema==4.23.0
DEBUG Unnecessary package: jsonschema-specifications==2023.12.1
DEBUG Unnecessary package: jupyter==1.0.0
DEBUG Unnecessary package: jupyter-client==8.6.2
DEBUG Unnecessary package: jupyter-console==6.6.3
DEBUG Unnecessary package: jupyter-core==5.7.2
DEBUG Unnecessary package: jupyter-events==0.10.0
DEBUG Unnecessary package: jupyter-lsp==2.2.5
DEBUG Unnecessary package: jupyter-server==2.14.2
DEBUG Unnecessary package: jupyter-server-terminals==0.5.3
DEBUG Unnecessary package: jupyterlab==4.2.5
DEBUG Unnecessary package: jupyterlab-pygments==0.3.0
DEBUG Unnecessary package: jupyterlab-server==2.27.3
DEBUG Unnecessary package: jupyterlab-widgets==3.0.13
DEBUG Unnecessary package: lineax==0.0.5 (from file:///home/neil/src/lineax)
DEBUG Unnecessary package: matplotlib-inline==0.1.7
DEBUG Unnecessary package: mccabe==0.7.0
DEBUG Unnecessary package: mistune==3.0.2
DEBUG Unnecessary package: ml-dtypes==0.4.0
DEBUG Unnecessary package: msgpack==1.0.8
DEBUG Unnecessary package: mypy==1.11.2
DEBUG Unnecessary package: mypy-extensions==1.0.0
DEBUG Unnecessary package: nbclient==0.10.0
DEBUG Unnecessary package: nbconvert==7.16.4
DEBUG Unnecessary package: nbformat==5.10.4
DEBUG Unnecessary package: neovim==0.3.1
DEBUG Unnecessary package: nest-asyncio==1.6.0
DEBUG Unnecessary package: nodeenv==1.9.1
DEBUG Unnecessary package: notebook==7.2.1
DEBUG Unnecessary package: notebook-shim==0.2.4
DEBUG Unnecessary package: numpy==2.0.1
DEBUG Unnecessary package: opt-einsum==3.3.0
DEBUG Unnecessary package: optax==0.2.3
DEBUG Unnecessary package: optimistix==0.0.7
DEBUG Unnecessary package: overrides==7.7.0
DEBUG Unnecessary package: pandocfilters==1.5.1
DEBUG Unnecessary package: parso==0.8.4
DEBUG Preserving seed package: pip==24.1
DEBUG Unnecessary package: pkginfo==1.11.1
DEBUG Unnecessary package: poetry==1.8.3
DEBUG Unnecessary package: poetry-core==1.9.0
DEBUG Unnecessary package: poetry-plugin-export==1.8.0
DEBUG Unnecessary package: pre-commit==3.8.0
DEBUG Unnecessary package: prometheus-client==0.20.0
DEBUG Unnecessary package: prompt-toolkit==3.0.47
DEBUG Unnecessary package: psutil==6.0.0
DEBUG Unnecessary package: pure-eval==0.2.3
DEBUG Unnecessary package: pydeps==1.12.20
DEBUG Unnecessary package: pylint==3.2.6
DEBUG Unnecessary package: pynvim==0.5.0
DEBUG Unnecessary package: pyproject-hooks==1.1.0
DEBUG Unnecessary package: pyright==1.1.377
DEBUG Unnecessary package: pytest==8.3.2
DEBUG Unnecessary package: pytest-xdist==3.6.1
DEBUG Unnecessary package: python-dateutil==2.9.0.post0
DEBUG Unnecessary package: python-json-logger==2.0.7
DEBUG Unnecessary package: python-lsp-jsonrpc==1.1.2
DEBUG Unnecessary package: python-lsp-server==1.12.0
DEBUG Unnecessary package: pyzmq==26.2.0
DEBUG Unnecessary package: qtconsole==5.5.2
DEBUG Unnecessary package: rapidfuzz==3.9.6
DEBUG Unnecessary package: referencing==0.35.1
DEBUG Unnecessary package: requests==2.32.3
DEBUG Unnecessary package: requests-toolbelt==1.0.0
DEBUG Unnecessary package: rfc3339-validator==0.1.4
DEBUG Unnecessary package: rfc3986-validator==0.1.1
DEBUG Unnecessary package: rpds-py==0.20.0
DEBUG Unnecessary package: ruff==0.6.2
DEBUG Unnecessary package: scipy==1.14.0
DEBUG Preserving seed package: setuptools==73.0.1
DEBUG Unnecessary package: six==1.16.0
DEBUG Unnecessary package: soupsieve==2.6
DEBUG Unnecessary package: stack-data==0.6.3
DEBUG Unnecessary package: stdlib-list==0.10.0
DEBUG Unnecessary package: terminado==0.18.1
DEBUG Unnecessary package: tinycss2==1.3.0
DEBUG Unnecessary package: toolz==0.12.1
DEBUG Unnecessary package: tornado==6.4.1
DEBUG Unnecessary package: traitlets==5.14.3
DEBUG Unnecessary package: typeguard==2.13.3
DEBUG Unnecessary package: typer==0.12.3
DEBUG Unnecessary package: types-python-dateutil==2.9.0.20240821
DEBUG Unnecessary package: typing-extensions==4.12.2
DEBUG Unnecessary package: ujson==5.10.0
DEBUG Unnecessary package: uri-template==1.3.0
DEBUG Unnecessary package: urllib3==2.2.2
DEBUG Unnecessary package: wcwidth==0.2.13
DEBUG Unnecessary package: webcolors==24.8.0
DEBUG Unnecessary package: webencodings==0.5.1
DEBUG Unnecessary package: websocket-client==1.8.0
DEBUG Unnecessary package: widgetsnbextension==4.0.13
Installed 1 package in 1ms
+ hatch==1.12.0
So yeah here you can see we grab whatever Python pyenv tells us to use /home/neil/.pyenv/versions/3.12.4/bin/python3
. If you were to run /home/neil/.pyenv/versions/3.12.4/bin/python3 -m hatch
presumably it'd be available. Or /home/neil/.pyenv/versions/3.12.4/bin/hatch
but since we're not pip
, pyenv doesn't install a shim automatically.
It looks like this is a duplicate of https://github.com/astral-sh/uv/issues/1586 which is now tracked in https://github.com/astral-sh/uv/issues/4130
You need to run pyenv rehash
to add the shims.
We opened an upstream issue at https://github.com/pyenv/pyenv/issues/2979 but there's no traction there yet.
Thanks for the speedy and thorough review!
For some reason uv doesn't make scripts accessible the way pip does