python-poetry / python-poetry/poetry-plugin-shell
Poetry Fails to Install/Update more-itertools on macOS
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 141
- Forks
- 10
- Avg merge
- 59m
- Merged PRs (30d)
- 3
Description
When running poetry self add poetry-plugin-shell, Poetry attempts to update more-itertools (from 10.5.0 -> 10.6.0), but fails with the error:
Command '['/opt/homebrew/Cellar/poetry/2.0.1/libexec/bin/python',
'/opt/homebrew/Cellar/poetry/2.0.1/libexec/lib/python3.13/site-packages/virtualenv/seed/wheels/embed/pip-24.3.1-py3-none-any.whl/pip',
'uninstall', 'more-itertools', '-y']' returned non-zero exit status 1.
The error indicates that more-itertools is not installed, yet Poetry still tries to uninstall it, leading to a failure.
Expected Behavior
Poetry should correctly detect whether more-itertools is installed and handle the update properly. If it’s not installed, it should install it rather than attempting an uninstall.
Environment Details
- OS: macOS (Apple Silicon)
- Python Version: 3.13.1 (Installed via Homebrew)
- Poetry Version: 2.0.1
- Package Manager: Homebrew
- Virtualenv: Poetry-managed
Steps to Reproduce
brew install python@3.13
curl -sSL https://install.python-poetry.org | python3 -
poetry self add poetry-plugin-shell
Suggested Fix
- Poetry should check if a package is installed before attempting to uninstall it.
- Ensure Poetry respects system-installed packages and does not conflict with Homebrew-managed dependencies.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by running the reported macOS Apple Silicon reproduction with Python 3.13.1, Homebrew Poetry 2.0.1, and poetry self add poetry-plugin-shell. Trace the self-add update of more-itertools and compare the installed-package state with the attempted uninstall; done means the command handles both installed and absent packages without the reported failure.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100