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

Support pre-releases in pypi-dependencies #1291

Open
2 tasks done
ksquarekumar opened this issue Apr 27, 2024 · 1 comment
Open
2 tasks done

Support pre-releases in pypi-dependencies #1291

ksquarekumar opened this issue Apr 27, 2024 · 1 comment
Labels
bug Something isn't working uv Related to the uv integration

Comments

@ksquarekumar
Copy link

ksquarekumar commented Apr 27, 2024

Checks

  • I have checked that this issue has not already been reported.

  • I have confirmed this bug exists on the latest version of pixi, using pixi --version.

Reproducible example

pixi info

❯ pixi info
      Pixi version: 0.20.1
          Platform: linux-64
  Virtual packages: __unix=0=0
                  : __linux=6.7.6=0
                  : __glibc=2.38=0
                  : __cuda=12.4=0
                  : __archspec=1=skylake
         Cache dir: /home/ksquare/.cache/rattler/cache
      Auth storage: /home/ksquare/.rattler/credentials.json

Project
------------
           Version: 0.0.1
     Manifest file: /shared/git/redacted/experiments/tensorrt_llm/pixi.toml
  Config locations: /shared/git/redacted/experiments/tensorrt_llm/.pixi/config.toml
      Last updated: 28-04-2024 00:55:41

Environments
------------
       Environment: default
          Features: default
          Channels: nvidia, conda-forge, pytorch
  Dependency count: 11
      Dependencies: python, datasets, evaluate, sentencepiece, zlib, libpq, openssl, compilers, make, cmake, rust
 PyPI Dependencies: tensorrt_llm, tensorrt, rouge_score
  Target platforms: linux-64

       Environment: dev
          Features: dev, default
       Solve group: default
          Channels: nvidia, conda-forge, pytorch
  Dependency count: 24
      Dependencies: pygls, nox, ruff, mypy, mypy_extensions, matplotlib, jupyterlab, jupyter_client, ipywidgets, notebook, ipykernel, debugpy, ipython, python, datasets, evaluate, sentencepiece, zlib, libpq, openssl, compilers, make, cmake, rust
 PyPI Dependencies: huggingface_hub, pip, black, blacken-docs, prompt_toolkit, platformdirs, virtualenv, packaging, pyright, wheel, commitizen, detect-secrets, types-beautifulsoup4, types-requests, types-PyYAML, types-decorator, types-six, types-tabulate, types-orjson, types-ujson, types-protobuf, tensorrt_llm, tensorrt, rouge_score
  Target platforms: linux-64
pixi shell -e dev

error: unexpected argument '--prerelease=allow' found

Usage: pixi install [OPTIONS]

For more information, try '--help'.
  ⠒ dev:linux-64         [00:00:04] resolving conda                                                                                                                                                                                                                            x failed to solve the pypi requirements of 'default' 'linux-64'
  |-> failed to resolve pypi dependencies
  `-> Because tensorrt-llm==0.9.0 depends on tensorrt==9.3.0.post12.dev1 and there is no version of tensorrt==9.3.0.post12.dev1, we can conclude that tensorrt-llm==0.9.0 cannot be used.
      And because you require tensorrt-llm==0.9.0, we can conclude that the requirements are unsatisfiable.
      
      hint: tensorrt was requested with a pre-release marker (e.g., tensorrt==9.3.0.post12.dev1), but pre-releases weren't enabled (try: `--prerelease=allow`)

pixi.toml

#:schema: https://github.com/prefix-dev/pixi/blob/main/schema/schema.json
[project]
name = 'tensorrt-llm'
version = '0.0.1'
description = 'Environment for running TensorRT LLM'
readme = 'README.md'
license = "NOASSERTION"
authors = ["<REDACTED>"]
homepage = "<REDACTED>"
platforms = ["linux-64"]
channels = ["nvidia", "conda-forge", {channel = "pytorch", priority = -1}]

[dependencies]
python = "==3.10.0"
datasets = "*"
evaluate = "*"
sentencepiece = "*"

[activation]
scripts = ["../../scripts/activation-linux64-cuda.sh"]

[pypi-dependencies]
tensorrt_llm = "==0.9.0"
tensorrt = "==9.3.0.*"
rouge_score = "*"

[host-dependencies]
zlib = ">=1.0.0"
libpq = ">=16.0"
openssl = ">=3.2.0"
compilers = "*"
make = "*"
cmake = "*"
rust = "*"

[system-requirements]
linux = "6.0"
cuda = "12.1"

[feature.dev.dependencies]
pygls = ">=1.3.1"
nox = ">=2024.4.0"
ruff = ">=0.4.1"
mypy = ">=1.9.0"
mypy_extensions = ">=1.0.0"
matplotlib = ">=3.8.4"
jupyterlab = ">=4.1.6"
jupyter_client = ">=8.6.1"
ipywidgets = ">=8.1.2"
notebook = ">=7.1.2"
ipykernel = ">=6.29.0"
debugpy = ">=1.6.5"
ipython = ">=8.0.0"

[feature.dev.pypi-dependencies]
huggingface_hub = { version = ">=0.22.0", extras = ["cli", "hf_transfer"] }
pip = ">=24.0.0"
black = ">=24.0.0"
blacken-docs = ">=1.16.0"
prompt_toolkit = ""
platformdirs = "*"
virtualenv = "*"
packaging = "*"
pyright = "*"
wheel = "*"
commitizen = "*"
detect-secrets = "*"
types-beautifulsoup4 = "*"
types-requests = "*"
types-PyYAML = "*"
types-decorator = "*"
types-six = "*"
types-tabulate = "*"
types-orjson = "*"
types-ujson = "*"
types-protobuf = "*"

[environments]
dev = { features = ["dev"], solve-group= "default" }

Issue description

Environments cannot be resolved when underlying package requirements constraints are marked pre-release,
in this example I am assuming I simply can't install tensorrt_llm package in the environment, because a flag that the underlying tool uv could have accepted to solve the constraints are not possible to pass with pixi install ?

Expected behavior

Either have full parity with the interfaces of the underlying implementations / tools (hard to do when both are new and rapidly moving targets), or allow the user to have some flexibility to tackle such situations by themselves because the tooling isn't there yet, i should be able to pass flags over to uv to get out of this situation in this case.

@ksquarekumar ksquarekumar added the bug Something isn't working label Apr 27, 2024
@ksquarekumar ksquarekumar changed the title pixi install cannot pass args to underlying tools (uv) when conflicts arise pixi install cannot pass args to underlying tools (uv) when resolution conflicts arise, making certain use-case unresolvable Apr 27, 2024
@ksquarekumar ksquarekumar changed the title pixi install cannot pass args to underlying tools (uv) when resolution conflicts arise, making certain use-case unresolvable pixi install cannot pass args to underlying tools (uv) when resolution conflicts arise with uv Apr 27, 2024
@ruben-arts
Copy link
Contributor

He @ksquarekumar

We're not running uvs binary but it is baked into pixi through their rust crates so it is not as simple as pushing flags and options to the cli as we don't have the uv cli available. Unfortunately for us uv has backed in some of their tips into the errors that we can encounter aswell, so they are not helpful for the users of pixi in a lot of the cases.

For the prereleases I'll have to get back to you!

@ruben-arts ruben-arts added the uv Related to the uv integration label Apr 29, 2024
@ruben-arts ruben-arts changed the title pixi install cannot pass args to underlying tools (uv) when resolution conflicts arise with uv Support pre-releases in pypi-dependencies Apr 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working uv Related to the uv integration
Projects
None yet
Development

No branches or pull requests

2 participants