went to install python on ubuntu and was punked by my former self

@darius did you mean "how to fuck up my entire computer by installing python"

@ranjit no because if I did then random people on the internet would be mean to me

@darius if it helps (it doesn't) I blame ubuntu for this more than python, python is just really cavalier about "ok so we will RUN the BINARY from your PATH, the rest is up to you, godspeed"

@darius this question generalizes frighteningly well across what i suspect may now be the majority of programming environments and operating systems

@darius I don't know if you're looking, but in my case I settled on pyenv with the virtualenv plugin for now since I need to be able to run with specific versions of python.


(I hesitate suggesting anything because software development sometimes seems way too much all the time these days.)

@cstanhope oh yeah, stuff like this *works*, it just destroys my mental model of my operating system environment...

@darius Yeah, and then you combine it with other languages and runtimes you may be using. It's such a mess. :/


"did you mean python3? regardless, no results."

From the creators of "just please give me a self-contained binary that I can run, and no, I don't want any of its 50 dependencies".

No, installing ffmpeg doesn't mean I want 70 packages of desktop-related stuff for the off chance that I'll want to play something on my server.

@darius im working on a project for a client that was originally written in python (its a compiler that generates python) but python package management between linux and windows proved so &@^&* intractable it was just easier to learn rust and rewrite the whole thing. now we have a horrifyingly fast compiler. computers were a mistake but python is particularly awful.

@nasser @darius *looks at her piles and piles of ruby*


at least python has pipx

And if we're talking compilers, nothing seems to beat PyPy

@meena @darius in rust i can build a self-contained windows executable on my linux machine and send it to my client, who can run it with no questions asked, no installing anything external, no juggling environments...

@darius @nasser @meena I’ve had the exact same experience with python, back when it happened I decided to rewrite in go. These days I’d definitely use rust tho (:

@darius I once found someone with my exact problem with installing an OS on a forum after hours of searching only to discover the question was posted by myself like 8 years earlier with no valid answer…

@darius I use pyenv for this. A really nice tool that manages python versions and virtual environments locally. All it needs is system dependencies to build python.


@avolkov @darius Consider this a second recommendation of pyenv! I would recommend using their automated installer though - I tried to do it manually and definitely fucked my shit up before I blew everything away and used the automated installer.

@reed @avolkov I have definitely run into major issues with pyenv, mostly because I don't understand anything about python -- I'm always installing python as dependency for something else. I imagine if I understood python better, then using pyenv would be easy for me like using nvm is for node. As it stands I've found pyenv weird and confusing because I lack necessary mental models

@darius @avolkov Yeah, exactly how it works is a bit of a mystery to me still - but I work at a python job so I needed to use it and eventually worked it out.

@darius It's the exact reverse for me :D Whenever i use node/npm, I run into fantastic issues and I have no idea what's going and it's frustrating, so I go back to Python where everything runs as I expect it.

So yes, I guess it's a matter of understand and familiarity with that particular ecosystem ;)

Sign in to participate in the conversation
Friend Camp

Hometown is adapted from Mastodon, a decentralized social network with no ads, no corporate surveillance, and ethical design.

<svg xmlns="http://www.w3.org/2000/svg" id="hometownlogo" x="0px" y="0px" viewBox="25 40 50 20" width="100%" height="100%"><g><path d="M55.9,53.9H35.3c-0.7,0-1.3,0.6-1.3,1.3s0.6,1.3,1.3,1.3h20.6c0.7,0,1.3-0.6,1.3-1.3S56.6,53.9,55.9,53.9z"/><path d="M55.9,58.2H35.3c-0.7,0-1.3,0.6-1.3,1.3s0.6,1.3,1.3,1.3h20.6c0.7,0,1.3-0.6,1.3-1.3S56.6,58.2,55.9,58.2z"/><path d="M55.9,62.6H35.3c-0.7,0-1.3,0.6-1.3,1.3s0.6,1.3,1.3,1.3h20.6c0.7,0,1.3-0.6,1.3-1.3S56.6,62.6,55.9,62.6z"/><path d="M64.8,53.9c-0.7,0-1.3,0.6-1.3,1.3v8.8c0,0.7,0.6,1.3,1.3,1.3s1.3-0.6,1.3-1.3v-8.8C66,54.4,65.4,53.9,64.8,53.9z"/><path d="M60.4,53.9c-0.7,0-1.3,0.6-1.3,1.3v8.8c0,0.7,0.6,1.3,1.3,1.3s1.3-0.6,1.3-1.3v-8.8C61.6,54.4,61.1,53.9,60.4,53.9z"/><path d="M63.7,48.3c1.3-0.7,2-2.5,2-5.6c0-3.6-0.9-7.8-3.3-7.8s-3.3,4.2-3.3,7.8c0,3.1,0.7,4.9,2,5.6v2.4c0,0.7,0.6,1.3,1.3,1.3 s1.3-0.6,1.3-1.3V48.3z M62.4,37.8c0.4,0.8,0.8,2.5,0.8,4.9c0,2.5-0.5,3.4-0.8,3.4s-0.8-0.9-0.8-3.4C61.7,40.3,62.1,38.6,62.4,37.8 z"/><path d="M57,42.7c0-0.1-0.1-0.1-0.1-0.2l-3.2-4.1c-0.2-0.3-0.6-0.5-1-0.5h-1.6v-1.9c0-0.7-0.6-1.3-1.3-1.3s-1.3,0.6-1.3,1.3V38 h-3.9h-1.1h-5.2c-0.4,0-0.7,0.2-1,0.5l-3.2,4.1c0,0.1-0.1,0.1-0.1,0.2c0,0-0.1,0.1-0.1,0.1C34,43,34,43.2,34,43.3v7.4 c0,0.7,0.6,1.3,1.3,1.3h5.2h7.4h8c0.7,0,1.3-0.6,1.3-1.3v-7.4c0-0.2,0-0.3-0.1-0.4C57,42.8,57,42.8,57,42.7z M41.7,49.5h-5.2v-4.9 h10.2v4.9H41.7z M48.5,42.1l-1.2-1.6h4.8l1.2,1.6H48.5z M44.1,40.5l1.2,1.6h-7.5l1.2-1.6H44.1z M49.2,44.6h5.5v4.9h-5.5V44.6z"/></g></svg>