5 ms·
Answer: they don’t (Seriously, I’ve gotten so fed up with Python package management that I just use CondaPkg.jl, which uses Julia’s package manager to take car
by Max_Limelihood 4y ago
Answer: they don’t
(Seriously, I’ve gotten so fed up with Python package management that I just use CondaPkg.jl, which uses Julia’s package manager to take care of Python packages. It is just so much cleaner and easier to use than anything in Python.)
- swyx 4y agoalso there's like 3 different flavors of virtual env now and me being 8 years out of date with my python skillz i have no idea what the current SOTA is with python venv tooling :/ i dont need them demystified, i need someone smarter than me to just tell me what to do lol
- ollien 4y agoThe reality is that if you ask 3 different people you're going to get 3 different answers. They're fundamentally the same, just a matter of package management. As far as I'm aware, the current "SOTA" is Poetry. I liked Pipenv for quite some time, but Poetry is just so much faster IME.
- gosukiwi 4y agoIt also makes it very hard for new devs willing to learn Python. Coming from Ruby and JavaScript, you just use bundler or npm, but Python is so strange, even the way it runs files is different, with the module thing.
- dwringer 4y ago> and me being 8 years out of date with my python skillz i have no idea what the current SOTA is with python venv tooling :/ It doesn't really matter, by the time you sit down and use it you'll find whatever that is, has also been deprecated and replaced by 2 more.
- billforsternz 4y agoThe problem with software development in 2023 in a nutshell, well played sir.
- hot_gril 4y ago> i dont need them demystified, i need someone smarter than me to just tell me what to do lol Dockerfile ;)
- dangerlibrary 4y agoI hate python package management - I really do. But I've never actually had a problem with virtual environments, and I think it's because I just use virtualenv directly (rather than conda or whatever else). I have these aliases in my .bashrc, and I can't remember the last time I had a major issue. alias venv='rm -rf ./venv && virtualenv venv && source ./venv/bin/activate' alias vact='source ./venv/bin/activate' alias pinstall='source ./venv/bin/activate && pip install . && pip install -r ./requirements.txt && pip install ./test_requirements.txt' I don't have all the fancy features, like automatically activating the virtualenv when I cd into the directory, but I've always found those to be a bigger headache than they are worth. And if I ever run into some incompatibility or duplicate library or something, I blow away the old venv and start fresh. It's a good excuse to get up and make a cup of tea.
- Izkata 4y ago> virtualenv venv That would be python2, in 3 it's "python -m venv venv" (first venv is package to run, second is directory to put it in) Otherwise yeah, it's the same and I also use it manually. Never had any problems.
- jvolkman 4y ago`virtualenv` still exists and is still actively developed. It's true that Python 3 ships with `venv` but I think `virtualenv` offers some additional features. https://github.com/pypa/virtualenv https://github.com/pypa/virtualenv
- jimnotgym 4y agoAgreed. I tried the new package manager combined with venv and using venv directly seems best. A lot faster for a start.
- spprashant 4y agoI might steal these aliases, thank you. Using virtualenv directly has also been my approach, and has not failed me yet. I also used Poetry for one of my personal projects, and I liked what I saw.
- 4y ago
- birdstheword5 4y agoIt sounds mean to say it, but it's 100% true. I moved away from using python wherever I can. I've had colleagues struggle for days to install well used packages like pandas and numpy in conda.
- danielvaughn 4y agoI just began writing Python a few months ago. For years prior, I'd been a JS dev, and while NPM can be frustrating at times, I never encountered so many issues as I have in Python. It's crazy. I'm now curious whether there are languages out there that do have a really nice packaging system.
- dvlsg 4y agoCargo (Rust) is pretty solid. Most of my minor complaints (like being unable to add packages from the CLI) have been resolved with time, as well.
- Nadya 4y agoPersonally, zero complaints about Cargo (Rust) and very minimal complaints about NuGet (C#/.NET). My issues around NuGet are probably self-created because I refuse to learn the CLI [0] for it and I've had occasional issues with Visual Studio's UI for managing things. https://learn.microsoft.com/en-us/nuget/reference/nuget-exe-cli-reference https://learn.microsoft.com/en-us/nuget/reference/nuget-exe-...
- evntdrvn 4y agoIn a lot of ways, Paket is significantly better than NuGet, if you ever want to try something new :) It uses a lockfile approach like Cargo, has better dependency resolution, etc https://fsprojects.github.io/Paket/index.html https://fsprojects.github.io/Paket/index.html
- cstrahan 4y agoFWIW, I find Cargo to be one of the biggest reasons I like Rust so much — maybe even more than anything to do with Rust itself or safe code. I’ll often look for command line tools written in Rust, but not because of Rust fanboyism, but because I know I can just git clone the project and immediately start hacking on a new feature I need or a quick bug fix. In almost every other language I have to jump through one million hoops before I can build and run whatever it is, let alone have a nice developer experience (autocomplete, go to definition, etc).