79

sudo apt-get random-tool

Traceback (most recent call last):

Aborting because there's a fork in the spoon compartment on line 43 in main

Error this script only works on Python 2.7 and maybe 4.1 on line 59 in main

Missing symbols when trying to decipher Sumerian recipe for steamed vegetables on line 67 in main

Cannot open shared object: Your OS is a bully and is hiding my files on line 98 in main

Are you sure all directories matching ^(/)?([^/\0]+(/)?)+$ are in your $PATH on line 268 in main

Your computer is kind of vibrating in an annoying way on line 332 in main

Failing because I'm feeling insecure please hold me on line 587 in main

I'm feeling confused about my sentience when running TensorFlow models on line 682 in main

FUCK

HAS ANYONE EVER MANAGED TO JUST FUCKING INSTALL A PYTHON BASED APPLICATION WITHOUT DEBUGGING RANDOM COMPUTER STATE SHIT AND DEPENDENCIES FOR THREE HOURS?

Comments
  • 7
  • 12
  • 4
    @-ANGRY-CLIENT- correct.
  • 5
    @-ANGRY-CLIENT- As much as I love docker, not everyone provides configs for it, and putting a random tool in a container seems to just shift the problem, I'd be getting docker errors about required path includes and not finding the right nvidia cuda runtime etc...
  • 1
    I have. But usually it's just a shit ton of debugging. Especially when having 2.7 and 3 installed at the same time because of some shit application that needs 2.7
  • 3
    @AlexDeLarge Somehow, Python devs also seem to be of the special lazy kind when it comes to documentation and readmes, assuming that everyone has libpoop 5.4 installed, like they had while testing the code.

    People joke about NPM and resulting directory size, but when you install dependencies from a lock file you at least know everything is exactly as it should be.

    Python applications tend to use libs from OS repos, but every distro has its own package manager and ideas about version stability.

    So in my opinion, if you write a Python script/application there should at the very least be a readme with a list of dependencies and versions.
  • 1
    Ah, another rant about how bad installing stuff for python is

    May I ask you what were you trying to install?

    And to answer your question - I have, almost always.

    Edit: I see you're using apt to install it xD
  • 0
    @YourNemesis A lot of random ML experiments and Jupyter stuff used in different departments in the company. And most recently Kitty, an extremely good terminal emulator once you are done hunting down & compiling dependencies.
  • 1
    @bittersweet For ML related stuff you can have a look at anaconda. It mostly has all the things required. If you don't feel like using anaconda, major ML libs like tf, keras do provide wheels which makes the installation a piece of cake.

    About the point you mentioned in one of the comments above that python uses OS libs is simple to solve as well. Have a look at tools like pyenv or pipenv which create virtualenvs(you can create virtual env without them as well. `python3 -m venv <venvname>`) so that doesn't interfere with the OS wide installation. I almost always use a virtualenv for each new project.
  • 1
    @bittersweet if it's a tool, something like a terminal emulator, which you don't want to use as a lib. You can ask the developer to provide binaries. Pyinstaller does a pretty good job at converting py packages into a single executable
  • 2
    @YourNemesis Yeah I mostly use anaconda.

    The problem is not really on my side though.

    As powerful as the language is, the python community is deeply divided. I'd call the dozens of distributions like anaconda not a solution, but a symptom. Same for virtualenvs... Another tool layer solves 9 issues, but causes 5 others.

    Every JS project just says "run npm install and have fun". Rust has crates, PHP has composer, Ruby has gems, etc

    Python... Tells you to use egg or pip or wheel or poetry, then the pip in your path is the wrong version, etc.

    A language should not generate articles like "which package manager is right for me and my project". As much as I love Haskell and Go as languages, they suffer from similar tooling problems.

    As easy as the language is, the tools can be fucking frustrating. I've never NOT succeeded in running a project, but it's always a bit messy.
  • 1
    @bittersweet yeah, I agree with that.
  • 2
    Relevant xkcd
  • 2
    Looks like you guys haven't heard of https://github.com/pypa/pipenv I generally dont have the problems you are referring to and when I do usually one the messages is pretty straightforward. However pipenv definitely creates stability for the dependency process
  • 0
    Every day is another one-sided shouting match against the command line.
  • 0
    Yes. Daily. Couple times a day actually. You just doing it wrong.
Add Comment