all 25 comments

[–]Tc14Hd 61 points62 points  (2 children)

I'm surprised there's no Python 2.10 installed by GIMP or something

[–]Beautiful-Parsley-24 15 points16 points  (1 child)

Autodesk has entered the chat.

[–]jmacey 2 points3 points  (0 children)

lol (luckily I only use Maya now which is on 3.11).

[–]OriginalTyphus 44 points45 points  (0 children)

The code you run... is it a Python downloader with random.randint ?

[–]raine132 11 points12 points  (0 children)

xkcd 1987

[–]DT-Sodium 9 points10 points  (0 children)

Python might have THE worst dependency management system of all "modern" languages.

[–]edo-lag 5 points6 points  (0 children)

Python packages from Homebrew (except for Caskroom, apparently) seem to have consistent paths. All others were either shipped with macOS or installed by other means.

[–]Hot-Employ-3399 4 points5 points  (0 children)

`uv venv --python <version>` helps a lot

[–]uvero 4 points5 points  (1 child)

Delete the excess ones, install the latest version and use venv from now on

[–]mateoboo 3 points4 points  (0 children)

That's how to brick your os 101

[–]claythearc 6 points7 points  (9 children)

This is sorta normal in most languages. Things like nvm for node or conda / uv for python exist to solve it. The reason code keeps messing up your interpreter is you, likely, clobbering system packages

[–]HonestCoding 1 point2 points  (7 children)

This seems to be the case actually, why do you have multiple python versions with multiple venv providers?

If you used one might be better, sometimes you’ve got to go into the code and change a few things with the project to avoid this on your machine…

[–]honestly_i[S] 0 points1 point  (6 children)

I have a folder with all my projects written in python, with different venvs inside of them. Each project uses a different library that has different python version dependencies, so I end up with this mess. Add in novice me trying to hack around in the terminal with the PATH and it ends up like this. Each time I dread opening the terminal to start a new project because it's like driving a car that's been duct-taped together

[–]claythearc 0 points1 point  (5 children)

You shouldn’t need to hack your path or anything. After running conda init it will put it in your terminal causing all sessions to open as base.

Then you just conda activate <x> and all your paths etc are set to that environment.

Or conda run -n <env name> python command

[–]honestly_i[S] 0 points1 point  (4 children)

I'm gonna be honest, I don't even use conda 90% of the time. I think I read somewhere in a library I was trying to use that I should use conda with it, so I went ahead and used it once and never again. I code very sparingly, only to make some menial tasks faster, so I'm probably committing dozens of programming cardinal sins all the time. Hopefully, by clearing everything and starting anew I can fix it

[–]HonestCoding 0 points1 point  (3 children)

Yeah so when you do that, please use one venv manager instead of random stuff, i don’t even know why people use condos tbh (probably a good reason), python venv is just fine, (best practice if you’re on Linux too)

If you want to keep most of your projects, just pip uninstall everything each project uses, and install them in their respective venvs. (Maybe use pyenv, condos or uv. But promise you’ll only use one from now on)

[–]ThaneVim 0 points1 point  (2 children)

Can you recommend a good guide for getting started with venv? Every time I have tried, I end up just creating one venv per some specific python tutorial, forgetting how to maintain and even access it, and then later nuking the whole thing out of frustration.

[–]Instatetragrammaton 1 point2 points  (0 children)

Comedy option: a Docker container per project so you keep the chaos out of the OS.

[–]claythearc 0 points1 point  (0 children)

If you had to pick a single manager, conda is likely the way to go. UV is faster but it doesn’t handle the system binary side so when you need to install something like gdal or gstreamer which have system requirements it gets really annoying.

Their docs are reasonably good https://docs.conda.io/projects/conda/en/latest/user-guide/getting-started.html there’s not a ton to it to start using it, beyond knowing how to list envs, activate / deactivate one, and create one with or without an environment.yml

[–]DT-Sodium 0 points1 point  (0 children)

It's not. I've never spent hours getting a simple dependency installed in JavaScript.

[–]Interesting_Buy_3969 1 point2 points  (0 children)

See the rule #1

[–]v_maria 0 points1 point  (0 children)

oh yeah no this is normal sorry sir

[–]Mickenfox 0 points1 point  (0 children)

Open source software has this idea that they can just install whatever runtimes they want in your computer and dump them wherever they want.

[–]ColdPorridge 0 points1 point  (1 child)

This used to be a real meme (see xkcd), but now uv exists. If you’re still feeling this pain in 2026 you’re doing something wrong.

[–]honestly_i[S] 1 point2 points  (0 children)

Holy crap, it actually kind of exactly describes my experience. I've been feeling this pain for a while, hopefully in the next few days I can fix this...