this post was submitted on 20 May 2025
37 points (95.1% liked)

Python

7168 readers
1 users here now

Welcome to the Python community on the programming.dev Lemmy instance!

πŸ“… Events

PastNovember 2023

October 2023

July 2023

August 2023

September 2023

🐍 Python project:
πŸ’“ Python Community:
✨ Python Ecosystem:
🌌 Fediverse
Communities
Projects
Feeds

founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] flandish@lemmy.world 8 points 2 weeks ago (13 children)

as someone fairly new to larger python projects, working in a team too - why does it seem like I’m always in dependency hell? Sometimes things work with venv until I forget and a notebook needs something else. Or a diff type of proj because mlflow wanted another kind of env manager?

[–] logging_strict@programming.dev 2 points 2 weeks ago* (last edited 2 weeks ago) (1 children)

wreck is a dependencies manager, which is venv aware, BUT is not a venv manager nor does it put dependencies into pyproject.toml. Sticks with good ol' requirement files.

Assumes, for each package, it's normal to be working with several venv.

Syncs the dependencies intended for the same venv.

req fix --venv-relpath='.venv'
req fix --venv-relpath='.doc/.venv'

Across many packages, unfortunately have to resort to manually sync'ing dependencies.

Lessons learned

  • have very recently ceased putting build requirements into requirement files. The build requirements' transitive dependencies should be in the requirement files. wreck does not support this yet. i'm manually removing dependencies like: build wheel setuptools-scm (setuptools and pip already filtered out) and click.

  • syncing across packages is really time consuming. Go thru this pain, then no dependency hell.

Wrote wreck cuz all the other options were combining requirements management with everything including the bathroom sink. build backends ... venv management ... everything goes into pyproject.toml. All these ideas seem to just compound the learning curve.

Less is more especially when it comes to learning curve.

[–] flandish@lemmy.world 2 points 2 weeks ago (1 children)

Appreciate feedback once you've had the chance to evaluate wreck.

Feel free to make an issue. Which is the best way to catch my attention.

In the CHANGES.rst, there are lists for both feature requests and known issues

load more comments (11 replies)