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

uv pip compile does not find a package that pip-compile does (nltk==3.6) #1528

Closed
merc1031 opened this issue Feb 16, 2024 · 6 comments
Closed
Assignees

Comments

@merc1031
Copy link

merc1031 commented Feb 16, 2024

uv pip compile

(test-7) ➜  tools-3 git:(master) ✗ uv pip compile --index-url https://<host>/artifactory/api/pypi/virtual-pypi/simple --no-cache --no-deps <(echo "nltk==3.6\n") -o /tmp/ci
  × No solution found when resolving dependencies:
  ╰─▶ Because there is no version of nltk==3.6 and you require nltk==3.6, we can conclude that the requirements are unsatisfiable.

pip-compile

(test-7) ➜  tools-3 git:(master) ✗ pip-compile --index-url https://<host>/artifactory/api/pypi/virtual-pypi/simple <(echo "nltk==3.6\n") -o /tmp/ci 
WARNING: --strip-extras is becoming the default in version 8.0.0. To silence this warning, either use --strip-extras to opt into the new default or use --no-strip-extras to retain the existing behavior.
#
# This file is autogenerated by pip-compile with Python 3.10
# by the following command:
#
#    pip-compile --index-url=https://<host>/artifactory/api/pypi/virtual-pypi/simple --output-file=/tmp/ci /proc/self/fd/11
#
--index-url https://<host>/artifactory/api/pypi/virtual-pypi/simple

click==8.1.7
  # via nltk
joblib==1.3.2
  # via nltk
nltk==3.6
  # via -r /proc/self/fd/11
regex==2023.12.25
  # via nltk
tqdm==4.66.2
  # via nltk

package present in Artifactory remote pullthrough cache of pypi
image

@raylu
Copy link

raylu commented Feb 16, 2024

running with --verbose might help
there was also a bug with relative paths that was fixed in uv 0.1.2: #1393 (comment)

@merc1031
Copy link
Author

(test-7) ➜  tools-3 git:() ✗ uv --version
uv 0.1.2
(test-7) ➜  tools-3 git:() ✗ uv pip compile --verbose --index-url https://<>/artifactory/api/pypi/virtual-pypi/simple --no-cache --no-deps <(echo "nltk==3.6\n") -o /tmp/ci 
    0.002884s DEBUG uv_interpreter::virtual_env Found a virtualenv through VIRTUAL_ENV at: /home/<>/.pyenv/versions/3.10.11/envs/test-7
    0.002941s DEBUG uv_interpreter::interpreter Detecting markers for: /home/<>/.pyenv/versions/3.10.11/envs/test-7/bin/python
    0.026714s DEBUG uv::commands::pip_compile Using Python 3.10.11 interpreter at /home/<>/.pyenv/versions/3.10.11/envs/test-7/bin/python for builds
 uv_client::flat_index::from_entries 
 uv_resolver::resolver::solve 
      0.027355s   0ms DEBUG uv_resolver::resolver Solving with target Python version 3.10.11
   uv_resolver::resolver::choose_version package=root
   uv_resolver::resolver::get_dependencies package=root, version=0a0.dev0
        0.027393s   0ms DEBUG uv_resolver::resolver Adding direct dependency: nltk==3.6
   uv_resolver::resolver::choose_version package=nltk
     uv_resolver::resolver::package_wait package_name=nltk
 uv_resolver::resolver::process_request request=Versions nltk
   uv_client::registry_client::simple_api package=nltk
     uv_client::cached_client::get_cacheable 
       uv_client::cached_client::read_and_parse_cache file=/tmp/.tmpd5nxim/simple-v0/43b1e6e9e817b452/nltk.rkyv
 uv_resolver::resolver::process_request request=Prefetch nltk ==3.6
          0.027604s   0ms  WARN uv_client::cached_client Broken cache entry at /tmp/.tmpd5nxim/simple-v0/43b1e6e9e817b452/nltk.rkyv, removing: failed to open file `/tmp/.tmpd5nxim/simple-v0/43b1e6e9e817b452/nltk.rkyv`
          0.027628s   0ms DEBUG uv_client::cached_client No cache entry for: https://<>/artifactory/api/pypi/virtual-pypi/simple/nltk/
       uv_client::cached_client::fresh_request url="https://<>/artifactory/api/pypi/virtual-pypi/simple/nltk/"
       uv_client::cached_client::new_cache file=/tmp/.tmpd5nxim/simple-v0/43b1e6e9e817b452/nltk.rkyv
       uv_client::registry_client::parse_simple_api package=nltk
         uv_client::html::parse url=Url { scheme: "https", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("<>")), port: None, path: "/artifactory/api/pypi/virtual-pypi/simple/nltk/", query: None, fragment: None }
            0.308264s  33ms  WARN uv_client::registry_client Skipping file for nltk: Invalid 'requires-python' value
            0.308294s  33ms  WARN uv_client::registry_client Skipping file for nltk: Invalid 'requires-python' value
            0.308307s  33ms  WARN uv_client::registry_client Skipping file for nltk: Invalid 'requires-python' value
            0.308317s  33ms  WARN uv_client::registry_client Skipping file for nltk: Invalid 'requires-python' value
            0.308328s  33ms  WARN uv_client::registry_client Skipping file for nltk: Invalid 'requires-python' value
            0.308362s  33ms  WARN uv_client::registry_client Skipping file for nltk: Invalid 'requires-python' value
 uv_resolver::version_map::from_metadata 
        0.309710s 282ms DEBUG uv_resolver::resolver Searching for a compatible version of nltk (==3.6)
      0.309748s 282ms DEBUG uv_resolver::resolver No compatible version found for: nltk
  × No solution found when resolving dependencies:
  ╰─▶ Because there is no version of nltk==3.6 and you require nltk==3.6, we can conclude that the requirements are unsatisfiable.

@charliermarsh
Copy link
Member

Do you mind sharing what the requires-python values look like in the index? Like if you download one of the wheels manually, and open it, and look at METADATA, what is the requires-python? It looks like it's invalid -- we do some manual correction for common mistakes, but we might be missing one here.

@merc1031
Copy link
Author

For nltk 3.6 this is what i get

(assets-3.10.11) ➜  nltk-3.6 git:(<>) ✗ rg -i requires nltk-3.6.dist-info 
nltk-3.6.dist-info/README.md
7:Language Processing. NLTK requires Python version 3.5, 3.6, 3.7, 3.8, or 3.9.

nltk-3.6.dist-info/METADATA
37:Requires-Python: >=3.5.*
38:Requires-Dist: click
39:Requires-Dist: joblib
40:Requires-Dist: regex
41:Requires-Dist: tqdm
43:Requires-Dist: numpy ; extra == 'all'
44:Requires-Dist: matplotlib ; extra == 'all'
45:Requires-Dist: pyparsing ; extra == 'all'
46:Requires-Dist: twython ; extra == 'all'
47:Requires-Dist: scikit-learn ; extra == 'all'
48:Requires-Dist: gensim (<4.0.0) ; extra == 'all'
49:Requires-Dist: requests ; extra == 'all'
50:Requires-Dist: python-crfsuite ; extra == 'all'
51:Requires-Dist: scipy ; extra == 'all'
53:Requires-Dist: requests ; extra == 'corenlp'
55:Requires-Dist: gensim (<4.0.0) ; extra == 'machine_learning'
56:Requires-Dist: numpy ; extra == 'machine_learning'
57:Requires-Dist: python-crfsuite ; extra == 'machine_learning'
58:Requires-Dist: scikit-learn ; extra == 'machine_learning'
59:Requires-Dist: scipy ; extra == 'machine_learning'
61:Requires-Dist: matplotlib ; extra == 'plot'
63:Requires-Dist: pyparsing ; extra == 'tgrep'
65:Requires-Dist: twython ; extra == 'twitter'
68:natural language processing.  NLTK requires Python 3.5, 3.6, 3.7, 3.8, or 3.9.

@charliermarsh
Copy link
Member

We may have fixed this in #1529. Do you mind trying with latest?

@merc1031
Copy link
Author

I can confirm the with version 0.1.7 It has solved the issue for me!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants