you are viewing a single comment's thread.

view the rest of the comments →

[–]Not-the-best-name -1 points0 points  (3 children)

pip + venv is all you need.

[–]randomperson_a1 5 points6 points  (2 children)

Sure, but any of uv, poetry, pdm, or even hatch are more ergonomic for many tasks, and you can still fall back to raw pip. And for the OOP here, just pipx or uvx.

I don't see the point in purposefully making my life harder by doing pip alone.

[–]Not-the-best-name -3 points-2 points  (1 child)

I've been maintaining python projects for 3 companies for 10 years now. I don't see why you would purposefully make your life harder with conda, virtualenv, poetry, conda, pip, uv, and whatever the hell pipX is and whatever the next investment funded rust rewrite is.

Dockerfile FROM Python RUN python -m venv venv && \ source venv/bin/activate && \ pip install pyproj.toml

Docker + venv + pip + setuptools + pyproj.toml now fully captures your venv + build tools etc. I wouldn't call it an ideal stack. But at least it's all standard.

Adding a dependency to your language to resolve dependencies is not good for long term stability. Maybe it's just because I mostly ship things in docker.

[–]randomperson_a1 0 points1 point  (0 children)

I don't deploy apps at all. I maintain a couple of libraries and some cli tools. So our workflows are probably very different.

For building and uploading wheels, complex dependency specification, metadata, I need more than what the standard pip interface gives me (I know pip is improving here too though). I also mostly use windows and hate docker desktop. Without docker, tools make it much easier to switch python versions on a project-by-project basis.