-
Notifications
You must be signed in to change notification settings - Fork 875
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
Add --dry-run
flag for pip install
#1244
Labels
compatibility
Compatibility with a specification or another tool
Comments
May I try this? @zanieb
Although I'm not yet sure how to pull versions to display.. |
zanieb
added a commit
that referenced
this issue
Mar 12, 2024
## What Adds a `--dry-run` flag that ejects out of the installation process early (but after resolution) and displays only what *would have* installed ## Closes Closes #1244 ## Out of Scope I think it may be nice to include a `dry-run` flag for `uninstall` even though `pip` doesn't implement this... thinking `Would uninstall X packages: ...` --------- Co-authored-by: Zanie Blue <contact@zanie.dev>
charliermarsh
added a commit
that referenced
this issue
Dec 2, 2024
## Summary This proposes adding the command line option `uv pip uninstall --dry-run ...`, complementing the existing `uv pip install --dry-run ...` added for #1244 in #1436. This option does not exist in PyPA's `pip uninstall`, if adopted it would be unique to `uv pip`. The code should be considered PoC, it is baby's first Rust. The initial motivation was while investigating moreati/ansible-uv#2 - to allow Ansible module `moreati.uv.pip` to work with`state: absent` in "check_mode" (Ansible's equivalent of a dry run), without requiring `packaging` or `setuptools`. ## Test Plan One new unit test has been added. I pedge to add more if the feature is desired/accepted Example usage ```console ➜ uv git:(pip-uninstall--dry-run) rm -rf .venv ➜ uv git:(pip-uninstall--dry-run) ./target/debug/uv venv Using CPython 3.13.0 Creating virtual environment at: .venv Activate with: source .venv/bin/activate ➜ uv git:(pip-uninstall--dry-run) ./target/debug/uv pip install httpx Resolved 7 packages in 178ms Prepared 5 packages in 60ms Installed 7 packages in 15ms + anyio==4.6.2.post1 + certifi==2024.8.30 + h11==0.14.0 + httpcore==1.0.7 + httpx==0.28.0 + idna==3.10 + sniffio==1.3.1 ➜ uv git:(pip-uninstall--dry-run) ./target/debug/uv pip uninstall --dry-run httpx Would uninstall 1 package - httpx==0.28.0 ➜ uv git:(pip-uninstall--dry-run) ./target/debug/uv pip list Package Version -------- ----------- anyio 4.6.2.post1 certifi 2024.8.30 h11 0.14.0 httpcore 1.0.7 httpx 0.28.0 idna 3.10 sniffio 1.3.1 ``` --------- Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
For parity with
pip
but also useful.Basically this let's you
pip compile
without creating requirements file. The install plan is displayed to the user, e.g.The text was updated successfully, but these errors were encountered: