the immediate blocker when trying to run this Python project is that a native package deep within its dependency graph won’t compile without gcc-12 even though gcc 15 was released in August last year
that’s not even targeting gcc 14 which was released in 2024
and to hardcode this expectation without a Dockerfile or some Python-native mechanism to pull in a specific version of a C/Cxx compiler …
🐍 🤡


this is pretty common in interpreted languages/runtimes like Python, Node.js, Ruby, etc where a dependency is written in C or C++ or Rust or something else when the performance benefit is worth the cost of abandoning the primary language
the amusing/horrifying part is that Node.js actually depends on a Python script for this, so any Node.js application with a C/C++/Rust dependency actually needs Python installed somewhere
e.g. https://github.com/pyca/cryptography is a Python dependency that requires the Rust compiler/toolchain if
pip/pipx/uvcan’t find a pre-compiled version for your systemas far as i can tell, the project is alive and well, frequent and recent commits, and all the dependencies involved here are on their latest versions
and yeah, i know i can fix this with a VM or a Dockerfile and i’ll probably have to
but my point is that Python is kinda’ hot garbage for sharing code that depends on other shared code
it’s a terrific language by itself and sharing code that only depends on the standard library is perfectly fine, but as soon as we share code that depends on other third-party code we introduce inevitable suffering
I see. My assumption was you had a problem with a certain application, and my reply was from that viewpoint.
I 100% agree that Python programs relying on binary programs can be really complicated. In fact one of my projects requires a third party binary program to be installed, but I do not build it from source and just require it to be available on the system. And I encountered lot of issues when trying to create AppImage and sharing in certain environments. Actually this made me learn Rust, so I have a real compiled language in my repertoire for future projects when needed.