Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fails uv pip install --no-deps -e . missing module pathspec #1355

Closed
Tomperez98 opened this issue Feb 15, 2024 · 7 comments · Fixed by #1607
Closed

Fails uv pip install --no-deps -e . missing module pathspec #1355

Tomperez98 opened this issue Feb 15, 2024 · 7 comments · Fixed by #1607
Assignees
Labels
bug Something isn't working resolver Related to the package resolver

Comments

@Tomperez98
Copy link

Version uv 0.1.0

error: Failed to build editables
  Caused by: Failed to build editable: file:https:///Users/tomasperez/Documents/project/pyrgo
  Caused by: Build backend failed to determine extra requires with `build_editable()`:
--- stdout:

--- stderr:
Traceback (most recent call last):
  File "<string>", line 10, in <module>
  File "/private/var/folders/_x/wwr5hwrx28lf5rzdqzsxc7xc0000gn/T/.tmpjbl8JL/.venv/lib/python3.9/site-packages/hatchling/build.py", line 65, in get_requires_for_build_editable
    from hatchling.builders.wheel import WheelBuilder
  File "/private/var/folders/_x/wwr5hwrx28lf5rzdqzsxc7xc0000gn/T/.tmpjbl8JL/.venv/lib/python3.9/site-packages/hatchling/builders/wheel.py", line 15, in <module>
    from hatchling.builders.config import BuilderConfig
  File "/private/var/folders/_x/wwr5hwrx28lf5rzdqzsxc7xc0000gn/T/.tmpjbl8JL/.venv/lib/python3.9/site-packages/hatchling/builders/config.py", line 7, in <module>
    import pathspec
ModuleNotFoundError: No module named 'pathspec'
@charliermarsh
Copy link
Member

Thanks! Is this a public project?

@Tomperez98
Copy link
Author

Yes! I just integrated uv into my project pyrgo it's awesome!!!

@Tomperez98
Copy link
Author

I love the vision you guys have for uv I kinda try the same with pyrgo

@zanieb
Copy link
Member

zanieb commented Feb 15, 2024

Maybe related? pypa/hatch#432

@zanieb zanieb changed the title Fails uv pip install --no-deps -e . Fails uv pip install --no-deps -e . missing module pathspec Feb 15, 2024
@hugovk
Copy link

hugovk commented Feb 17, 2024

I get a similar thing, also using Hatchling.

Works without --no-deps. Originally reported at tox-dev/tox-uv#13, noticed because tox uses --no-deps.

Python 3.12.2
uv 0.1.3

git clone https://github.com/hugovk/tinytext
cd tinytext
❯ uv pip install --no-deps -e . -v
 uv::requirements::from_source source=-e .
    0.001133s DEBUG uv_interpreter::virtual_env Found a virtualenv named .venv at: /Users/hugo/github/tinytext/.venv
    0.001414s DEBUG uv_interpreter::interpreter Using cached markers for: /Users/hugo/github/tinytext/.venv/bin/python
    0.001434s DEBUG uv::commands::pip_install Using Python 3.12.2 environment at /Users/hugo/github/tinytext/.venv/bin/python
 uv_client::flat_index::from_entries
 uv_installer::downloader::build_editables
      0.139561s   0ms DEBUG uv_distribution::source Building (editable) file:///Users/hugo/github/tinytext
   uv_dispatch::setup_build package_id="file:https:///Users/hugo/github/tinytext", subdirectory=None
     uv_resolver::resolver::solve
          0.141602s   0ms DEBUG uv_resolver::resolver Solving with target Python version 3.12.2
       uv_resolver::resolver::choose_version package=root
       uv_resolver::resolver::get_dependencies package=root, version=0a0.dev0
            0.141987s   0ms DEBUG uv_resolver::resolver Adding direct dependency: hatch-vcs*
            0.142004s   0ms DEBUG uv_resolver::resolver Adding direct dependency: hatchling*
       uv_resolver::resolver::choose_version package=hatch-vcs
         uv_resolver::resolver::package_wait package_name=hatch-vcs
     uv_resolver::resolver::process_request request=Versions hatch-vcs
       uv_client::registry_client::simple_api package=hatch-vcs
         uv_client::cached_client::get_cacheable
           uv_client::cached_client::read_and_parse_cache file=/Users/hugo/Library/Caches/uv/simple-v0/pypi/hatch-vcs.rkyv
     uv_resolver::resolver::process_request request=Versions hatchling
       uv_client::registry_client::simple_api package=hatchling
         uv_client::cached_client::get_cacheable
           uv_client::cached_client::read_and_parse_cache file=/Users/hugo/Library/Caches/uv/simple-v0/pypi/hatchling.rkyv
     uv_resolver::resolver::process_request request=Prefetch hatchling *
     uv_resolver::resolver::process_request request=Prefetch hatch-vcs *
              0.143923s   1ms DEBUG uv_client::cached_client Found fresh response for: https://pypi.org/simple/hatch-vcs/
              0.143951s   1ms DEBUG uv_client::cached_client Found fresh response for: https://pypi.org/simple/hatchling/
 uv_resolver::version_map::from_metadata
 uv_resolver::version_map::from_metadata
       uv_distribution::distribution_database::get_or_build_wheel_metadata dist=hatch-vcs==0.4.0
         uv_client::registry_client::wheel_metadata built_dist=hatch-vcs==0.4.0
           uv_client::cached_client::get_serde
             uv_client::cached_client::get_cacheable
               uv_client::cached_client::read_and_parse_cache file=/Users/hugo/Library/Caches/uv/wheels-v0/pypi/hatch-vcs/hatch_vcs-0.4.0-py3-none-any.msgpack
       uv_distribution::distribution_database::get_or_build_wheel_metadata dist=hatchling==1.21.1
         uv_client::registry_client::wheel_metadata built_dist=hatchling==1.21.1
           uv_client::cached_client::get_serde
             uv_client::cached_client::get_cacheable
               uv_client::cached_client::read_and_parse_cache file=/Users/hugo/Library/Caches/uv/wheels-v0/pypi/hatchling/hatchling-1.21.1-py3-none-any.msgpack
            0.144474s   2ms DEBUG uv_resolver::resolver Searching for a compatible version of hatch-vcs (*)
            0.144478s   2ms DEBUG uv_resolver::resolver Selecting: hatch-vcs==0.4.0 (hatch_vcs-0.4.0-py3-none-any.whl)
       uv_resolver::resolver::get_dependencies package=hatch-vcs, version=0.4.0
       uv_resolver::resolver::choose_version package=hatchling
         uv_resolver::resolver::package_wait package_name=hatchling
            0.144633s   0ms DEBUG uv_resolver::resolver Searching for a compatible version of hatchling (*)
            0.144636s   0ms DEBUG uv_resolver::resolver Selecting: hatchling==1.21.1 (hatchling-1.21.1-py3-none-any.whl)
       uv_resolver::resolver::get_dependencies package=hatchling, version=1.21.1
     uv_dispatch::install resolution="hatch-vcs==0.4.0, hatchling==1.21.1", venv="/private/var/folders/p6/lf2s1s5d4kb335g2n1td8z8c0000gn/T/.tmp8vk3wi/.venv"
          0.144817s   0ms DEBUG uv_dispatch Installing in hatch-vcs==0.4.0, hatchling==1.21.1 in /private/var/folders/p6/lf2s1s5d4kb335g2n1td8z8c0000gn/T/.tmp8vk3wi/.venv
          0.145110s   0ms DEBUG uv_installer::plan Requirement already cached: hatch-vcs==0.4.0
          0.145158s   0ms DEBUG uv_installer::plan Requirement already cached: hatchling==1.21.1
          0.145165s   0ms DEBUG uv_dispatch Installing build requirements: hatch-vcs==0.4.0, hatchling==1.21.1
       uv_installer::installer::install num_wheels=2
        0.149402s   9ms DEBUG uv_build Calling `hatchling.build.get_requires_for_build_editable()`
     uv_build::run_python_script script="get_requires_for_build_editable", python_version=3.12.2
error: Failed to build editables
  Caused by: Failed to build editable: file:https:///Users/hugo/github/tinytext
  Caused by: Build backend failed to determine extra requires with `build_editable()`:
--- stdout:

--- stderr:
Traceback (most recent call last):
  File "<string>", line 10, in <module>
  File "/private/var/folders/p6/lf2s1s5d4kb335g2n1td8z8c0000gn/T/.tmp8vk3wi/.venv/lib/python3.12/site-packages/hatchling/build.py", line 65, in get_requires_for_build_editable
    from hatchling.builders.wheel import WheelBuilder
  File "/private/var/folders/p6/lf2s1s5d4kb335g2n1td8z8c0000gn/T/.tmp8vk3wi/.venv/lib/python3.12/site-packages/hatchling/builders/wheel.py", line 15, in <module>
    from hatchling.builders.config import BuilderConfig
  File "/private/var/folders/p6/lf2s1s5d4kb335g2n1td8z8c0000gn/T/.tmp8vk3wi/.venv/lib/python3.12/site-packages/hatchling/builders/config.py", line 7, in <module>
    import pathspec
ModuleNotFoundError: No module named 'pathspec'
---

Works without --no-deps:

❯ uv pip install -e . -v
 uv::requirements::from_source source=-e .
    0.005885s DEBUG uv_interpreter::virtual_env Found a virtualenv named .venv at: /Users/hugo/github/tinytext/.venv
    0.006959s DEBUG uv_interpreter::interpreter Using cached markers for: /Users/hugo/github/tinytext/.venv/bin/python
    0.006965s DEBUG uv::commands::pip_install Using Python 3.12.2 environment at /Users/hugo/github/tinytext/.venv/bin/python
 uv_client::flat_index::from_entries
 uv_installer::downloader::build_editables
      0.145812s   0ms DEBUG uv_distribution::source Building (editable) file:///Users/hugo/github/tinytext
   uv_dispatch::setup_build package_id="file:https:///Users/hugo/github/tinytext", subdirectory=None
     uv_resolver::resolver::solve
          0.150323s   0ms DEBUG uv_resolver::resolver Solving with target Python version 3.12.2
       uv_resolver::resolver::choose_version package=root
       uv_resolver::resolver::get_dependencies package=root, version=0a0.dev0
            0.151905s   0ms DEBUG uv_resolver::resolver Adding direct dependency: hatch-vcs*
            0.151982s   0ms DEBUG uv_resolver::resolver Adding direct dependency: hatchling*
       uv_resolver::resolver::choose_version package=hatch-vcs
         uv_resolver::resolver::package_wait package_name=hatch-vcs
     uv_resolver::resolver::process_request request=Versions hatch-vcs
       uv_client::registry_client::simple_api package=hatch-vcs
         uv_client::cached_client::get_cacheable
           uv_client::cached_client::read_and_parse_cache file=/Users/hugo/Library/Caches/uv/simple-v0/pypi/hatch-vcs.rkyv
     uv_resolver::resolver::process_request request=Versions hatchling
       uv_client::registry_client::simple_api package=hatchling
         uv_client::cached_client::get_cacheable
           uv_client::cached_client::read_and_parse_cache file=/Users/hugo/Library/Caches/uv/simple-v0/pypi/hatchling.rkyv
     uv_resolver::resolver::process_request request=Prefetch hatchling *
     uv_resolver::resolver::process_request request=Prefetch hatch-vcs *
              0.155630s   2ms DEBUG uv_client::cached_client Found stale response for: https://pypi.org/simple/hatch-vcs/
              0.155633s   2ms DEBUG uv_client::cached_client Sending revalidation request for: https://pypi.org/simple/hatch-vcs/
           uv_client::cached_client::revalidation_request url="https://pypi.org/simple/hatch-vcs/"
              0.157697s   4ms DEBUG uv_client::cached_client Found stale response for: https://pypi.org/simple/hatchling/
              0.157701s   4ms DEBUG uv_client::cached_client Sending revalidation request for: https://pypi.org/simple/hatchling/
           uv_client::cached_client::revalidation_request url="https://pypi.org/simple/hatchling/"
              0.188887s  35ms DEBUG uv_client::cached_client Found not-modified response for: https://pypi.org/simple/hatch-vcs/
           uv_client::cached_client::refresh_cache file=/Users/hugo/Library/Caches/uv/simple-v0/pypi/hatch-vcs.rkyv
              0.189383s  35ms DEBUG uv_client::cached_client Found not-modified response for: https://pypi.org/simple/hatchling/
           uv_client::cached_client::refresh_cache file=/Users/hugo/Library/Caches/uv/simple-v0/pypi/hatchling.rkyv
 uv_resolver::version_map::from_metadata
 uv_resolver::version_map::from_metadata
       uv_distribution::distribution_database::get_or_build_wheel_metadata dist=hatch-vcs==0.4.0
         uv_client::registry_client::wheel_metadata built_dist=hatch-vcs==0.4.0
           uv_client::cached_client::get_serde
             uv_client::cached_client::get_cacheable
               uv_client::cached_client::read_and_parse_cache file=/Users/hugo/Library/Caches/uv/wheels-v0/pypi/hatch-vcs/hatch_vcs-0.4.0-py3-none-any.msgpack
       uv_distribution::distribution_database::get_or_build_wheel_metadata dist=hatchling==1.21.1
         uv_client::registry_client::wheel_metadata built_dist=hatchling==1.21.1
           uv_client::cached_client::get_serde
             uv_client::cached_client::get_cacheable
               uv_client::cached_client::read_and_parse_cache file=/Users/hugo/Library/Caches/uv/wheels-v0/pypi/hatchling/hatchling-1.21.1-py3-none-any.msgpack
            0.191877s  39ms DEBUG uv_resolver::resolver Searching for a compatible version of hatch-vcs (*)
            0.191882s  39ms DEBUG uv_resolver::resolver Selecting: hatch-vcs==0.4.0 (hatch_vcs-0.4.0-py3-none-any.whl)
       uv_resolver::resolver::get_dependencies package=hatch-vcs, version=0.4.0
         uv_resolver::resolver::distributions_wait package_id=hatch-vcs-0.4.0
                  0.192067s   0ms DEBUG uv_client::cached_client Found fresh response for: https://files.pythonhosted.org/packages/82/0f/6cbd9976160bc334add63bc2e7a58b1433a31b34b7cda6c5de6dd983d9a7/hatch_vcs-0.4.0-py3-none-any.whl
                  0.193375s   1ms DEBUG uv_client::cached_client Found fresh response for: https://files.pythonhosted.org/packages/3a/bb/40528a09a33845bd7fd75c33b3be7faec3b5c8f15f68a58931da67420fb9/hatchling-1.21.1-py3-none-any.whl
            0.193512s   1ms DEBUG uv_resolver::resolver Adding transitive dependency: setuptools-scm>=6.4.0
            0.193517s   1ms DEBUG uv_resolver::resolver Adding transitive dependency: hatchling>=1.1.0
       uv_resolver::resolver::choose_version package=hatchling
         uv_resolver::resolver::package_wait package_name=hatchling
            0.193538s   0ms DEBUG uv_resolver::resolver Searching for a compatible version of hatchling (>=1.1.0)
            0.193542s   0ms DEBUG uv_resolver::resolver Selecting: hatchling==1.21.1 (hatchling-1.21.1-py3-none-any.whl)
       uv_resolver::resolver::get_dependencies package=hatchling, version=1.21.1
         uv_resolver::resolver::distributions_wait package_id=hatchling-1.21.1
            0.193556s   0ms DEBUG uv_resolver::resolver Adding transitive dependency: editables>=0.3
            0.193559s   0ms DEBUG uv_resolver::resolver Adding transitive dependency: trove-classifiers*
            0.193561s   0ms DEBUG uv_resolver::resolver Adding transitive dependency: pathspec>=0.10.1
            0.193563s   0ms DEBUG uv_resolver::resolver Adding transitive dependency: pluggy>=1.0.0
            0.193566s   0ms DEBUG uv_resolver::resolver Adding transitive dependency: packaging>=21.3
       uv_resolver::resolver::choose_version package=setuptools-scm
         uv_resolver::resolver::package_wait package_name=setuptools-scm
     uv_resolver::resolver::process_request request=Versions setuptools-scm
       uv_client::registry_client::simple_api package=setuptools-scm
         uv_client::cached_client::get_cacheable
           uv_client::cached_client::read_and_parse_cache file=/Users/hugo/Library/Caches/uv/simple-v0/pypi/setuptools-scm.rkyv
     uv_resolver::resolver::process_request request=Prefetch hatchling >=1.1.0
     uv_resolver::resolver::process_request request=Prefetch setuptools-scm >=6.4.0
     uv_resolver::resolver::process_request request=Versions editables
       uv_client::registry_client::simple_api package=editables
         uv_client::cached_client::get_cacheable
           uv_client::cached_client::read_and_parse_cache file=/Users/hugo/Library/Caches/uv/simple-v0/pypi/editables.rkyv
     uv_resolver::resolver::process_request request=Versions trove-classifiers
       uv_client::registry_client::simple_api package=trove-classifiers
         uv_client::cached_client::get_cacheable
           uv_client::cached_client::read_and_parse_cache file=/Users/hugo/Library/Caches/uv/simple-v0/pypi/trove-classifiers.rkyv
     uv_resolver::resolver::process_request request=Versions pathspec
       uv_client::registry_client::simple_api package=pathspec
         uv_client::cached_client::get_cacheable
           uv_client::cached_client::read_and_parse_cache file=/Users/hugo/Library/Caches/uv/simple-v0/pypi/pathspec.rkyv
     uv_resolver::resolver::process_request request=Versions pluggy
       uv_client::registry_client::simple_api package=pluggy
         uv_client::cached_client::get_cacheable
           uv_client::cached_client::read_and_parse_cache file=/Users/hugo/Library/Caches/uv/simple-v0/pypi/pluggy.rkyv
     uv_resolver::resolver::process_request request=Versions packaging
       uv_client::registry_client::simple_api package=packaging
         uv_client::cached_client::get_cacheable
           uv_client::cached_client::read_and_parse_cache file=/Users/hugo/Library/Caches/uv/simple-v0/pypi/packaging.rkyv
     uv_resolver::resolver::process_request request=Prefetch packaging >=21.3
     uv_resolver::resolver::process_request request=Prefetch pluggy >=1.0.0
     uv_resolver::resolver::process_request request=Prefetch pathspec >=0.10.1
     uv_resolver::resolver::process_request request=Prefetch trove-classifiers *
     uv_resolver::resolver::process_request request=Prefetch editables >=0.3
              0.193952s   0ms DEBUG uv_client::cached_client Found stale response for: https://pypi.org/simple/editables/
              0.194013s   0ms DEBUG uv_client::cached_client Sending revalidation request for: https://pypi.org/simple/editables/
           uv_client::cached_client::revalidation_request url="https://pypi.org/simple/editables/"
              0.194356s   0ms DEBUG uv_client::cached_client Found stale response for: https://pypi.org/simple/setuptools-scm/
              0.194360s   0ms DEBUG uv_client::cached_client Sending revalidation request for: https://pypi.org/simple/setuptools-scm/
           uv_client::cached_client::revalidation_request url="https://pypi.org/simple/setuptools-scm/"
              0.194485s   0ms DEBUG uv_client::cached_client Found stale response for: https://pypi.org/simple/pathspec/
              0.194489s   0ms DEBUG uv_client::cached_client Sending revalidation request for: https://pypi.org/simple/pathspec/
           uv_client::cached_client::revalidation_request url="https://pypi.org/simple/pathspec/"
              0.194554s   0ms DEBUG uv_client::cached_client Found stale response for: https://pypi.org/simple/pluggy/
              0.194557s   0ms DEBUG uv_client::cached_client Sending revalidation request for: https://pypi.org/simple/pluggy/
           uv_client::cached_client::revalidation_request url="https://pypi.org/simple/pluggy/"
              0.194705s   0ms DEBUG uv_client::cached_client Found stale response for: https://pypi.org/simple/packaging/
              0.194708s   0ms DEBUG uv_client::cached_client Sending revalidation request for: https://pypi.org/simple/packaging/
           uv_client::cached_client::revalidation_request url="https://pypi.org/simple/packaging/"
              0.195272s   1ms DEBUG uv_client::cached_client Found stale response for: https://pypi.org/simple/trove-classifiers/
              0.195277s   1ms DEBUG uv_client::cached_client Sending revalidation request for: https://pypi.org/simple/trove-classifiers/
           uv_client::cached_client::revalidation_request url="https://pypi.org/simple/trove-classifiers/"
              0.200347s   6ms DEBUG uv_client::cached_client Found not-modified response for: https://pypi.org/simple/pluggy/
           uv_client::cached_client::refresh_cache file=/Users/hugo/Library/Caches/uv/simple-v0/pypi/pluggy.rkyv
              0.200458s   6ms DEBUG uv_client::cached_client Found not-modified response for: https://pypi.org/simple/packaging/
           uv_client::cached_client::refresh_cache file=/Users/hugo/Library/Caches/uv/simple-v0/pypi/packaging.rkyv
              0.200876s   7ms DEBUG uv_client::cached_client Found not-modified response for: https://pypi.org/simple/trove-classifiers/
           uv_client::cached_client::refresh_cache file=/Users/hugo/Library/Caches/uv/simple-v0/pypi/trove-classifiers.rkyv
              0.200959s   7ms DEBUG uv_client::cached_client Found not-modified response for: https://pypi.org/simple/editables/
           uv_client::cached_client::refresh_cache file=/Users/hugo/Library/Caches/uv/simple-v0/pypi/editables.rkyv
              0.201017s   7ms DEBUG uv_client::cached_client Found not-modified response for: https://pypi.org/simple/pathspec/
           uv_client::cached_client::refresh_cache file=/Users/hugo/Library/Caches/uv/simple-v0/pypi/pathspec.rkyv
 uv_resolver::version_map::from_metadata
              0.201612s   8ms DEBUG uv_client::cached_client Found not-modified response for: https://pypi.org/simple/setuptools-scm/
           uv_client::cached_client::refresh_cache file=/Users/hugo/Library/Caches/uv/simple-v0/pypi/setuptools-scm.rkyv
 uv_resolver::version_map::from_metadata
 uv_resolver::version_map::from_metadata
 uv_resolver::version_map::from_metadata
 uv_resolver::version_map::from_metadata
 uv_resolver::version_map::from_metadata
       uv_distribution::distribution_database::get_or_build_wheel_metadata dist=pluggy==1.4.0
         uv_client::registry_client::wheel_metadata built_dist=pluggy==1.4.0
           uv_client::cached_client::get_serde
             uv_client::cached_client::get_cacheable
               uv_client::cached_client::read_and_parse_cache file=/Users/hugo/Library/Caches/uv/wheels-v0/pypi/pluggy/pluggy-1.4.0-py3-none-any.msgpack
       uv_distribution::distribution_database::get_or_build_wheel_metadata dist=packaging==23.2
         uv_client::registry_client::wheel_metadata built_dist=packaging==23.2
           uv_client::cached_client::get_serde
             uv_client::cached_client::get_cacheable
               uv_client::cached_client::read_and_parse_cache file=/Users/hugo/Library/Caches/uv/wheels-v0/pypi/packaging/packaging-23.2-py3-none-any.msgpack
       uv_distribution::distribution_database::get_or_build_wheel_metadata dist=trove-classifiers==2024.1.31
         uv_client::registry_client::wheel_metadata built_dist=trove-classifiers==2024.1.31
           uv_client::cached_client::get_serde
             uv_client::cached_client::get_cacheable
               uv_client::cached_client::read_and_parse_cache file=/Users/hugo/Library/Caches/uv/wheels-v0/pypi/trove-classifiers/trove_classifiers-2024.1.31-py3-none-any.msgpack
       uv_distribution::distribution_database::get_or_build_wheel_metadata dist=editables==0.5
         uv_client::registry_client::wheel_metadata built_dist=editables==0.5
           uv_client::cached_client::get_serde
             uv_client::cached_client::get_cacheable
               uv_client::cached_client::read_and_parse_cache file=/Users/hugo/Library/Caches/uv/wheels-v0/pypi/editables/editables-0.5-py3-none-any.msgpack
       uv_distribution::distribution_database::get_or_build_wheel_metadata dist=pathspec==0.12.1
         uv_client::registry_client::wheel_metadata built_dist=pathspec==0.12.1
           uv_client::cached_client::get_serde
             uv_client::cached_client::get_cacheable
               uv_client::cached_client::read_and_parse_cache file=/Users/hugo/Library/Caches/uv/wheels-v0/pypi/pathspec/pathspec-0.12.1-py3-none-any.msgpack
                  0.203291s   0ms DEBUG uv_client::cached_client Found fresh response for: https://files.pythonhosted.org/packages/a5/5b/0cc789b59e8cc1bf288b38111d002d8c5917123194d45b29dcdac64723cc/pluggy-1.4.0-py3-none-any.whl
       uv_distribution::distribution_database::get_or_build_wheel_metadata dist=setuptools-scm==8.0.4
         uv_client::registry_client::wheel_metadata built_dist=setuptools-scm==8.0.4
           uv_client::cached_client::get_serde
             uv_client::cached_client::get_cacheable
               uv_client::cached_client::read_and_parse_cache file=/Users/hugo/Library/Caches/uv/wheels-v0/pypi/setuptools-scm/setuptools_scm-8.0.4-py3-none-any.msgpack
                  0.203322s   0ms DEBUG uv_client::cached_client Found fresh response for: https://files.pythonhosted.org/packages/ec/1a/610693ac4ee14fcdf2d9bf3c493370e4f2ef7ae2e19217d7a237ff42367d/packaging-23.2-py3-none-any.whl
                  0.203329s   0ms DEBUG uv_client::cached_client Found fresh response for: https://files.pythonhosted.org/packages/6b/4e/599b1d41680dc063166bc8872e96f05967200245a338bd404d669e1ae3fa/trove_classifiers-2024.1.31-py3-none-any.whl
            0.203344s   9ms DEBUG uv_resolver::resolver Searching for a compatible version of setuptools-scm (>=6.4.0)
            0.203347s   9ms DEBUG uv_resolver::resolver Selecting: setuptools-scm==8.0.4 (setuptools_scm-8.0.4-py3-none-any.whl)
       uv_resolver::resolver::get_dependencies package=setuptools-scm, version=8.0.4
         uv_resolver::resolver::distributions_wait package_id=setuptools-scm-8.0.4
                  0.203422s   0ms DEBUG uv_client::cached_client Found fresh response for: https://files.pythonhosted.org/packages/6b/be/0f2f4a5e8adc114a02b63d92bf8edbfa24db6fc602fca83c885af2479e0e/editables-0.5-py3-none-any.whl
                  0.203430s   0ms DEBUG uv_client::cached_client Found fresh response for: https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl
                  0.203436s   0ms DEBUG uv_client::cached_client Found fresh response for: https://files.pythonhosted.org/packages/0e/a3/b9a8b0adfe672bf0df5901707aa929d30a97ee390ba651910186776746d2/setuptools_scm-8.0.4-py3-none-any.whl
            0.203452s   0ms DEBUG uv_resolver::resolver Adding transitive dependency: setuptools*
            0.203455s   0ms DEBUG uv_resolver::resolver Adding transitive dependency: typing-extensions*
            0.203458s   0ms DEBUG uv_resolver::resolver Adding transitive dependency: packaging>=20
       uv_resolver::resolver::choose_version package=editables
         uv_resolver::resolver::package_wait package_name=editables
            0.203472s   0ms DEBUG uv_resolver::resolver Searching for a compatible version of editables (>=0.3)
            0.203474s   0ms DEBUG uv_resolver::resolver Selecting: editables==0.5 (editables-0.5-py3-none-any.whl)
       uv_resolver::resolver::get_dependencies package=editables, version=0.5
         uv_resolver::resolver::distributions_wait package_id=editables-0.5
       uv_resolver::resolver::choose_version package=trove-classifiers
         uv_resolver::resolver::package_wait package_name=trove-classifiers
            0.203487s   0ms DEBUG uv_resolver::resolver Searching for a compatible version of trove-classifiers (*)
            0.203489s   0ms DEBUG uv_resolver::resolver Selecting: trove-classifiers==2024.1.31 (trove_classifiers-2024.1.31-py3-none-any.whl)
       uv_resolver::resolver::get_dependencies package=trove-classifiers, version=2024.1.31
         uv_resolver::resolver::distributions_wait package_id=trove-classifiers-2024.1.31
       uv_resolver::resolver::choose_version package=pathspec
         uv_resolver::resolver::package_wait package_name=pathspec
            0.203548s   0ms DEBUG uv_resolver::resolver Searching for a compatible version of pathspec (>=0.10.1)
            0.203550s   0ms DEBUG uv_resolver::resolver Selecting: pathspec==0.12.1 (pathspec-0.12.1-py3-none-any.whl)
       uv_resolver::resolver::get_dependencies package=pathspec, version=0.12.1
         uv_resolver::resolver::distributions_wait package_id=pathspec-0.12.1
       uv_resolver::resolver::choose_version package=pluggy
         uv_resolver::resolver::package_wait package_name=pluggy
            0.203562s   0ms DEBUG uv_resolver::resolver Searching for a compatible version of pluggy (>=1.0.0)
            0.203564s   0ms DEBUG uv_resolver::resolver Selecting: pluggy==1.4.0 (pluggy-1.4.0-py3-none-any.whl)
       uv_resolver::resolver::get_dependencies package=pluggy, version=1.4.0
         uv_resolver::resolver::distributions_wait package_id=pluggy-1.4.0
       uv_resolver::resolver::choose_version package=packaging
         uv_resolver::resolver::package_wait package_name=packaging
            0.203771s   0ms DEBUG uv_resolver::resolver Searching for a compatible version of packaging (>=21.3)
            0.203775s   0ms DEBUG uv_resolver::resolver Selecting: packaging==23.2 (packaging-23.2-py3-none-any.whl)
       uv_resolver::resolver::get_dependencies package=packaging, version=23.2
         uv_resolver::resolver::distributions_wait package_id=packaging-23.2
       uv_resolver::resolver::choose_version package=setuptools
         uv_resolver::resolver::package_wait package_name=setuptools
     uv_resolver::resolver::process_request request=Versions setuptools
       uv_client::registry_client::simple_api package=setuptools
         uv_client::cached_client::get_cacheable
           uv_client::cached_client::read_and_parse_cache file=/Users/hugo/Library/Caches/uv/simple-v0/pypi/setuptools.rkyv
     uv_resolver::resolver::process_request request=Versions typing-extensions
       uv_client::registry_client::simple_api package=typing-extensions
         uv_client::cached_client::get_cacheable
           uv_client::cached_client::read_and_parse_cache file=/Users/hugo/Library/Caches/uv/simple-v0/pypi/typing-extensions.rkyv
     uv_resolver::resolver::process_request request=Prefetch typing-extensions *
     uv_resolver::resolver::process_request request=Prefetch setuptools *
              0.204159s   0ms DEBUG uv_client::cached_client Found stale response for: https://pypi.org/simple/typing-extensions/
              0.204162s   0ms DEBUG uv_client::cached_client Sending revalidation request for: https://pypi.org/simple/typing-extensions/
           uv_client::cached_client::revalidation_request url="https://pypi.org/simple/typing-extensions/"
              0.205861s   2ms DEBUG uv_client::cached_client Found stale response for: https://pypi.org/simple/setuptools/
              0.205865s   2ms DEBUG uv_client::cached_client Sending revalidation request for: https://pypi.org/simple/setuptools/
           uv_client::cached_client::revalidation_request url="https://pypi.org/simple/setuptools/"
              0.207440s   3ms DEBUG uv_client::cached_client Found not-modified response for: https://pypi.org/simple/typing-extensions/
           uv_client::cached_client::refresh_cache file=/Users/hugo/Library/Caches/uv/simple-v0/pypi/typing-extensions.rkyv
 uv_resolver::version_map::from_metadata
       uv_distribution::distribution_database::get_or_build_wheel_metadata dist=typing-extensions==4.9.0
         uv_client::registry_client::wheel_metadata built_dist=typing-extensions==4.9.0
           uv_client::cached_client::get_serde
             uv_client::cached_client::get_cacheable
               uv_client::cached_client::read_and_parse_cache file=/Users/hugo/Library/Caches/uv/wheels-v0/pypi/typing-extensions/typing_extensions-4.9.0-py3-none-any.msgpack
                  0.208231s   0ms DEBUG uv_client::cached_client Found fresh response for: https://files.pythonhosted.org/packages/b7/f4/6a90020cd2d93349b442bfcb657d0dc91eee65491600b2cb1d388bc98e6b/typing_extensions-4.9.0-py3-none-any.whl
              0.210167s   6ms DEBUG uv_client::cached_client Found not-modified response for: https://pypi.org/simple/setuptools/
           uv_client::cached_client::refresh_cache file=/Users/hugo/Library/Caches/uv/simple-v0/pypi/setuptools.rkyv
 uv_resolver::version_map::from_metadata
       uv_distribution::distribution_database::get_or_build_wheel_metadata dist=setuptools==69.1.0
         uv_client::registry_client::wheel_metadata built_dist=setuptools==69.1.0
           uv_client::cached_client::get_serde
             uv_client::cached_client::get_cacheable
               uv_client::cached_client::read_and_parse_cache file=/Users/hugo/Library/Caches/uv/wheels-v0/pypi/setuptools/setuptools-69.1.0-py3-none-any.msgpack
            0.211935s   8ms DEBUG uv_resolver::resolver Searching for a compatible version of setuptools (*)
            0.211937s   8ms DEBUG uv_resolver::resolver Selecting: setuptools==69.1.0 (setuptools-69.1.0-py3-none-any.whl)
       uv_resolver::resolver::get_dependencies package=setuptools, version=69.1.0
         uv_resolver::resolver::distributions_wait package_id=setuptools-69.1.0
                  0.212087s   0ms DEBUG uv_client::cached_client Found fresh response for: https://files.pythonhosted.org/packages/bb/0a/203797141ec9727344c7649f6d5f6cf71b89a6c28f8f55d4f18de7a1d352/setuptools-69.1.0-py3-none-any.whl
       uv_resolver::resolver::choose_version package=typing-extensions
         uv_resolver::resolver::package_wait package_name=typing-extensions
            0.212133s   0ms DEBUG uv_resolver::resolver Searching for a compatible version of typing-extensions (*)
            0.212136s   0ms DEBUG uv_resolver::resolver Selecting: typing-extensions==4.9.0 (typing_extensions-4.9.0-py3-none-any.whl)
       uv_resolver::resolver::get_dependencies package=typing-extensions, version=4.9.0
         uv_resolver::resolver::distributions_wait package_id=typing-extensions-4.9.0
     uv_dispatch::install resolution="setuptools==69.1.0, setuptools-scm==8.0.4, hatch-vcs==0.4.0, pluggy==1.4.0, hatchling==1.21.1, pathspec==0.12.1, trove-classifiers==2024.1.31, typing-extensions==4.9.0, editables==0.5, packaging==23.2", venv="/private/var/folders/p6/lf2s1s5d4kb335g2n1td8z8c0000gn/T/.tmpvHw66b/.venv"
          0.212331s   0ms DEBUG uv_dispatch Installing in setuptools==69.1.0, setuptools-scm==8.0.4, hatch-vcs==0.4.0, pluggy==1.4.0, hatchling==1.21.1, pathspec==0.12.1, trove-classifiers==2024.1.31, typing-extensions==4.9.0, editables==0.5, packaging==23.2 in /private/var/folders/p6/lf2s1s5d4kb335g2n1td8z8c0000gn/T/.tmpvHw66b/.venv
          0.213006s   0ms DEBUG uv_installer::plan Requirement already cached: editables==0.5
          0.213058s   0ms DEBUG uv_installer::plan Requirement already cached: hatch-vcs==0.4.0
          0.213102s   0ms DEBUG uv_installer::plan Requirement already cached: hatchling==1.21.1
          0.213144s   0ms DEBUG uv_installer::plan Requirement already cached: packaging==23.2
          0.213186s   0ms DEBUG uv_installer::plan Requirement already cached: pathspec==0.12.1
          0.213229s   0ms DEBUG uv_installer::plan Requirement already cached: pluggy==1.4.0
          0.213385s   1ms DEBUG uv_installer::plan Requirement already cached: setuptools==69.1.0
          0.213427s   1ms DEBUG uv_installer::plan Requirement already cached: setuptools-scm==8.0.4
          0.213470s   1ms DEBUG uv_installer::plan Requirement already cached: trove-classifiers==2024.1.31
          0.213513s   1ms DEBUG uv_installer::plan Requirement already cached: typing-extensions==4.9.0
          0.213523s   1ms DEBUG uv_dispatch Installing build requirements: editables==0.5, hatch-vcs==0.4.0, hatchling==1.21.1, packaging==23.2, pathspec==0.12.1, pluggy==1.4.0, setuptools==69.1.0, setuptools-scm==8.0.4, trove-classifiers==2024.1.31, typing-extensions==4.9.0
       uv_installer::installer::install num_wheels=10
        0.229515s  83ms DEBUG uv_build Calling `hatchling.build.get_requires_for_build_editable()`
     uv_build::run_python_script script="get_requires_for_build_editable", python_version=3.12.2
   uv_build::build package_id="file:https:///Users/hugo/github/tinytext"
        0.334831s   0ms DEBUG uv_build Calling `hatchling.build.build_editable(metadata_directory=None)`
     uv_build::run_python_script script="build_editable", python_version=3.12.2
      0.656599s 511ms DEBUG uv_distribution::source Finished building (editable): tinytext @ file:///Users/hugo/github/tinytext
Built 1 editable in 513ms
 uv_resolver::resolver::solve
      0.658329s   0ms DEBUG uv_resolver::resolver Solving with target Python version 3.12.2
   uv_resolver::resolver::choose_version package=root
   uv_resolver::resolver::get_dependencies package=root, version=0a0.dev0
   uv_resolver::resolver::choose_version package=tinytext
   uv_resolver::resolver::get_dependencies package=tinytext, version=3.6.1.dev64
Resolved 1 package in 0ms
    0.659021s DEBUG uv_installer::plan Treating editable requirement as mutable: tinytext==3.6.1.dev64 (from file:///Users/hugo/github/tinytext)
    0.659179s DEBUG uv_installer::plan Preserving seed package: pip==23.3.2
 uv_installer::installer::install num_wheels=1
Installed 1 package in 1ms
 + tinytext==3.6.1.dev64 (from file:https:///Users/hugo/github/tinytext)

This project has no dependencies beyond some optional test ones and the build deps:

[build-system]
build-backend = "hatchling.build"
requires = [
  "hatch-vcs",
  "hatchling",
]

Diffing those two logs, and looking at the DEBUG uv_dispatch lines, the passing install has a long list of dependencies:

          0.213523s   1ms DEBUG uv_dispatch Installing build requirements: editables==0.5, 
hatch-vcs==0.4.0, hatchling==1.21.1, packaging==23.2, pathspec==0.12.1, pluggy==1.4.0, 
setuptools==69.1.0, setuptools-scm==8.0.4, trove-classifiers==2024.1.31, typing-
extensions==4.9.0

But the failing one has only the top-level build deps:

          0.145165s   0ms DEBUG uv_dispatch Installing build requirements: hatch-vcs==0.4.0, 
hatchling==1.21.1

So it looks like --no-deps is being applied to the build-system.requires, when perhaps it should only be applied to dependencies?

The build backend's dependencies seem essential, and they're installed by pip:

pip install --no-deps -e . -v
Found existing alias for "pip install". You should use: "pi"
Using pip 24.0 from /Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/pip (python 3.12)
Obtaining file:https:///Users/hugo/github/tinytext
  Running command pip subprocess to install build dependencies
  Collecting hatch-vcs
    Using cached hatch_vcs-0.4.0-py3-none-any.whl.metadata (8.6 kB)
  Collecting hatchling
    Using cached hatchling-1.21.1-py3-none-any.whl.metadata (3.8 kB)
  Collecting setuptools-scm>=6.4.0 (from hatch-vcs)
    Using cached setuptools_scm-8.0.4-py3-none-any.whl.metadata (6.4 kB)
  Collecting editables>=0.3 (from hatchling)
    Using cached editables-0.5-py3-none-any.whl.metadata (3.1 kB)
  Collecting packaging>=21.3 (from hatchling)
    Using cached packaging-23.2-py3-none-any.whl.metadata (3.2 kB)
  Collecting pathspec>=0.10.1 (from hatchling)
    Using cached pathspec-0.12.1-py3-none-any.whl.metadata (21 kB)
  Collecting pluggy>=1.0.0 (from hatchling)
    Using cached pluggy-1.4.0-py3-none-any.whl.metadata (4.3 kB)
  Collecting trove-classifiers (from hatchling)
    Using cached trove_classifiers-2024.1.31-py3-none-any.whl.metadata (2.2 kB)
  Collecting setuptools (from setuptools-scm>=6.4.0->hatch-vcs)
    Using cached setuptools-69.1.0-py3-none-any.whl.metadata (6.1 kB)
  Collecting typing-extensions (from setuptools-scm>=6.4.0->hatch-vcs)
    Using cached typing_extensions-4.9.0-py3-none-any.whl.metadata (3.0 kB)
  Using cached hatch_vcs-0.4.0-py3-none-any.whl (8.4 kB)
  Using cached hatchling-1.21.1-py3-none-any.whl (76 kB)
  Using cached editables-0.5-py3-none-any.whl (5.1 kB)
  Using cached packaging-23.2-py3-none-any.whl (53 kB)
  Using cached pathspec-0.12.1-py3-none-any.whl (31 kB)
  Using cached pluggy-1.4.0-py3-none-any.whl (20 kB)
  Using cached setuptools_scm-8.0.4-py3-none-any.whl (42 kB)
  Using cached trove_classifiers-2024.1.31-py3-none-any.whl (13 kB)
  Using cached setuptools-69.1.0-py3-none-any.whl (819 kB)
  Using cached typing_extensions-4.9.0-py3-none-any.whl (32 kB)
  Installing collected packages: trove-classifiers, typing-extensions, setuptools, pluggy, pathspec, packaging, editables, setuptools-scm, hatchling, hatch-vcs
  ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
  safety-schemas 0.0.1 requires packaging<=23.0,>=21.0, but you have packaging 23.2 which is incompatible.
  Successfully installed editables-0.5 hatch-vcs-0.4.0 hatchling-1.21.1 packaging-23.2 pathspec-0.12.1 pluggy-1.4.0 setuptools-69.1.0 setuptools-scm-8.0.4 trove-classifiers-2024.1.31 typing-extensions-4.9.0
  Installing build dependencies ... done
  Running command Checking if build backend supports build_editable
  Checking if build backend supports build_editable ... done
  Running command Getting requirements to build editable
  Getting requirements to build editable ... done
  Running command Preparing editable metadata (pyproject.toml)
  Preparing editable metadata (pyproject.toml) ... done
Building wheels for collected packages: tinytext
  Running command Building editable for tinytext (pyproject.toml)
  Building editable for tinytext (pyproject.toml) ... done
  Created wheel for tinytext: filename=tinytext-3.6.1.dev64-py3-none-any.whl size=3164 sha256=0f4301e7426a27582c38a900c73cbc2a537139564b21ad683cd8920e79d97a5d
  Stored in directory: /private/var/folders/p6/lf2s1s5d4kb335g2n1td8z8c0000gn/T/pip-ephem-wheel-cache-y4710h1m/wheels/7a/97/be/509d2be51b0d6f779431989e3ac950c3d775db87b69024360b
Successfully built tinytext
Installing collected packages: tinytext
  changing mode of /Library/Frameworks/Python.framework/Versions/3.12/bin/tinytext to 755
Successfully installed tinytext-3.6.1.dev64

@charliermarsh
Copy link
Member

Oh sorry, yes, that's an oversight. Will fix. (I think we might be propagating --no-deps to the sub-resolutions for build dependencies.)

@charliermarsh charliermarsh added the bug Something isn't working label Feb 17, 2024
@zanieb zanieb added the resolver Related to the package resolver label Feb 17, 2024
@charliermarsh charliermarsh self-assigned this Feb 17, 2024
@charliermarsh
Copy link
Member

I got this one.

charliermarsh added a commit that referenced this issue Feb 17, 2024
## Summary

It's incorrect to pass the resolution and dependency mode down to the
`BuildDispatch`, since it means that we'll use `--no-deps` when building
source distributions. If you set resolution to `lowest`, it also means
we end up using (e.g.) the lowest version of `wheel`, which also doesn't
make sense.

It's fine to pass `--exclude-newer`.

Closes #1355.

Closes #1563.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working resolver Related to the package resolver
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants