4 ms·
I’m newish to python, I’ve only used it for machine learning projects and some web scraping. Could somebody elaborate on venv? I just started using it but now e
by barbariangrunge 3y ago
I’m newish to python, I’ve only used it for machine learning projects and some web scraping. Could somebody elaborate on venv? I just started using it but now everyone in this thread is saying how much they hate it. Is there an alternative?
- BryantD 3y agovenv is fine. Remember that this is a self-selected sample of people. You’re going to bump into the flaws and gotchas but it’s a perfectly usable tool.
- throwawaymaths 3y agoUhm so I was professionally setting up ML distros and ML containers for cloud deployments. Venv is not fine, especially if you've seen how other langs do it.
- collinmanderson 3y agoCould you say more what you don’t like about venv compared to how other languages do it?
- throwawaymaths 3y agoJust store your deps in project directory instead of using hidden fucking magic.
- collinmanderson 3y agoThe good news is they're working towards encouraging a standard .venv in project directory. https://peps.python.org/pep-0704/ https://peps.python.org/pep-0704/
- tekknik 3y agoThe hidden magic is adjusting env vars used by python, LD, etc. Adjusting paths only seems like magic until you understand what it’s doing. I’ve done with with plenty of languages including C/C++
- throwawaymaths 3y agoYes I know how it works but try explaining that to someone learning flask at a boot camp.
- tekknik 3y agoI mean I wouldn’t expect someone at a boot camp to understand this nor was this a topic of conversation, so /shrug?
- orra 3y agoIMHO venvs are fine as an implementation detail, a building block for a slicker tool. The annoyance with venvs is you have to create and activate them. In contrast for cargo (or stack or dotnet or yarn or pipenv or poetry), you just run the build tool in the project directory. Another limitation of venv is it doesn't solve the problem of pinning a versions of Python, so you need another tool.