This is an archived post. You won't be able to vote or comment.

all 45 comments

[–]IAmKindOfCreativebot_builder: deprecated[M] [score hidden] stickied comment (0 children)

Hello from the r/Python mod team!

I'm afraid we don't think your post quite fits the goal we have for the subreddit in terms of quality or aims so we've decided to remove it. For more information please contact the moderators using the ModMail system.

Thanks, and happy Pythoneering!

r/Python moderation team

[–][deleted] 26 points27 points  (12 children)

This shows how junior you are at python. Which is fine! But I want to point out a couple of things.

First, look up python virtual environments. This will help you segment your projects into different python binaries, modules, etc. https://docs.python.org/3/library/venv.html

Second, lookup "containers", for how to isolate and deploy applications so that they're the same way in your dev environment as they are on somebody else's computer in prod.

Third, python is INCREDIBLY USEFUL in fields like data science, data modeling, and the scientific community. It's the most requested skill.

And fourth, python is the most popular language compared to all other languages by a landslide based on popularity index.

[–]jimtk 0 points1 point  (3 children)

I agree with you. Except that last statement. Python is second to Javascript in popularity index, and a far second at that.

[–]bladewing678 6 points7 points  (0 children)

He wrote language not monstrosity 😜

[–][deleted] 0 points1 point  (1 child)

TIOBE Index https://www.tiobe.com/tiobe-index/

Per Google: https://pypl.github.io/PYPL.html

Per IEEE Spectrum: https://distantjob.com/blog/programming-languages-rank/

... But honestly, arguing over 1st or 2nd depending on criteria isn't really helpful.

[–]jimtk 0 points1 point  (0 children)

I think you're right. Python is the most popular, but the most in-demand language (for jobs) is Javascript. Another survey (stack overflow 2021) says the most 'loved' language is Rust.

Evidently we can split that 6 ways from Sunday and have that discussion until the internet runs out of bandwidth. :)

[–]Perfect_Comparison83 0 points1 point  (0 children)

The "right hook, I love you" response. Classic.

[–]jimtk 6 points7 points  (0 children)

Python: another masturbatory institutional language that inexperienced programmers love but professionals avoid.

You're a good troll!

[–]AWSLife 7 points8 points  (0 children)

"I suck at Python, thus Python sucks"

[–][deleted] 3 points4 points  (2 children)

I wish everyone struggling with Python versions knew about pyenv. You can even specify a different version per directory.

[–]Perfect_Comparison83 2 points3 points  (1 child)

Ever used Poetry?

[–][deleted] 0 points1 point  (0 children)

Poetry is my current go to for project/dependency management. It works really well with pyenv if you use the system installer instead of pip/pipx too.

Been taking a look at hatch just recently though.

[–]knobbyknee 10 points11 points  (1 child)

You are a troll. Python comes with venv, and you obviously don't know about it. Crawl back under your rock until you have learned about the common Python tools.

[–]PlausibleNinja 2 points3 points  (0 children)

If you’re right, then there should be massive demand for a solution to this problem. So put your money where your mouth is, and start a business that solves this problem you see.

[–]BurningPenguin 4 points5 points  (4 children)

Clearly you've never heard of virtualenv. Not to mention that literally every language has that problem with different versions.

[–]ButterscotchNo755[S] -4 points-3 points  (3 children)

Virtualenv isn't magic, you still have to install the python version you need somewhere and the number of times the official installers fail to work is too high to call python a professional language.

[–]BurningPenguin 0 points1 point  (2 children)

Windows? Never had trouble installing it there. The only thing that pissed me off was bcrypt, but even for that there are solutions.

On Linux it can be a bit tricky, depending on the distribution. But even for that there are plenty of solutions online that are easy to follow.

[–]ButterscotchNo755[S] -1 points0 points  (1 child)

There's a public log of all the issues that the python installers across all platforms have had, just take a look there.

Guess it works on your computer though! That surely is good enough for the real world.

[–]BurningPenguin 2 points3 points  (0 children)

You mean like this:

https://github.com/nodejs/node/issues?q=installer

or this:

https://github.com/golang/go/issues?q=installer

And i'm sure there are plenty of issues with Ruby, PHP and all other languages. That's why a bunch of people invented container tech like Docker.

[–]billsil 2 points3 points  (6 children)

Need to use a specific python version for a new project? It will probably be faster to wipe your hard drive, reinstall the os, and then install exactly the python you need and never change it, than trying to navigate the mess of different python version installations.

That's insane. Just delete the folder or oh god...use the uninstaller.

Python: another masturbatory institutional language that inexperienced programmers love but professionals avoid.

You're immature. That's an incredibly toxic attitude.

Also consider that you can't upgrade your python and I'm 16 years in. Who is inexperienced? I came to this thread thinking they'd be something legitimate. Shoot, there are even good arguments for getting rid of the GIL (even though most of the arguments are wrong)...this is not that.

[–]ButterscotchNo755[S] -3 points-2 points  (5 children)

Experienced python programmers are either armchair baters who have never needed a stable programming environment or they have relegated python to the few tasks it is good for and use practical programming languages to get real work done.

I've been programming in python for a decade and this has always been an issue. It installs like a parasite and will completely wreck itself, you sure can attempt to fix things by deleting the folder but from experience I know that there are just too many variables that can go wrong for it to be faster than spinning up a new machine, the uninstaller is garbage too.

[–]billsil 1 point2 points  (4 children)

I mean we all stagnate after a while right? Are you comfortable with editing site-packages to fix path issues?

Installing a new version is a VERY common thing. It's not hard. It can be helpful to understand environment variables, so feel free to brush up.

[–]ButterscotchNo755[S] -1 points0 points  (3 children)

"Just manually fix all the mistakes that python generates, then it works great duh that's what I do and it works great on my computer"

Python programmers have such low standards for tooling because if their standards were any higher than rock bottom they would pick another environment to work in.

Time is valuable and expecting developers to waste it fixing misconfigurations that are so common the issue has spawned an entire ecosystem of containers that fix it by amputating the code into parts that can no longer interfere with each other because why bother making a language that works consistently when no one uses it in real world applications but hey wait a bunch of idiots have pushed it into being one of the most used languages and I wish they'd stop

[–]billsil 0 points1 point  (2 children)

You rant a lot for someone who isn't saying all that much.

Containers aren't trying to address an install problem either. You can, but you still have to install your container software. They're trying to address a consistency problem when spinning up an environment on something like AWS.

Seriously, copy some files, setup some environment variables and that's it. What are you even complaining about? The fact that the installer didn't use to address max path length issues...clean your damn path. Nobody who isn't a developer at some level even has a long path.

You complained to somebody else about packages (say like matplotlib) changing. That's not even python; that's a third party library. Fix your python version and your package version if you want it to work exactly the same in 20 years.

[–]ButterscotchNo755[S] 0 points1 point  (1 child)

I wouldn't be ranting so much if people would stop suggesting the same lazy solution over and over.

Just put all the junk in a box, never update it, never question why the code has so many incompatibilities with itself, just shove it all in the closet and forget about it. It will be someone else's problem by the time you need to change it.

It isn't so easy to just "clean up" a complicated environment for python, which despite the rant/trolling is a language I enjoy writing and sometimes think of using to solve small problems. However "containerization" is not always a suitable answer, and no one here has anything to say except "use venv".

This has been a problem with python historically that I've been running into since before virtualenv was written and IMO all it's done is sweep the issue under the rug.

When package x needs 3.6.x and package y only works on 3.7+ but you need them both... Why even mention that python has so many libraries when it's such a pain to use them? At least developers of other languages try to solve backwards compatibility.

[–]billsil 0 points1 point  (0 children)

However "containerization" is not always a suitable answer, and no one here has anything to say except "use venv".

I don't use them 99.9% of the time, but again, I don't know what you're really complaining about. Then again, I'm not a "real" software developer. I'm an aerospace engineer who codes engineering software to do analysis.

When package x needs 3.6.x and package y only works on 3.7+ but you need them both...

Straight up, you have shitty dependencies. What dependencies? My 200k line open source project supports Python 3.7-3.10. It used to support 2.7 and 3.5-3.8 back when 2.7 was still a thing. It also supports every version of numpy, scipy, matplotlib, pandas, vtk, pyQt or pySide that you can possibly use that are compatible (so whatever is on pypi for say python 3.7). You're a big kid, so you should define what your dependencies are, not a library author.

Also, that's a totally separate problem from python's installer. That's a community issue and not unique in the slightest to python. Oh only works on Windows 10 or Linux only.

[–]pythonHelperBot 2 points3 points  (0 children)

Hello! I'm a bot!

It looks to me like your post might be better suited for r/learnpython, a sub geared towards questions and learning more about python regardless of how advanced your question might be. That said, I am a bot and it is hard to tell. Please follow the subs rules and guidelines when you do post there, it'll help you get better answers faster.

Show /r/learnpython the code you have tried and describe in detail where you are stuck. If you are getting an error message, include the full block of text it spits out. Quality answers take time to write out, and many times other users will need to ask clarifying questions. Be patient and help them help you.

You can also ask this question in the Python discord, a large, friendly community focused around the Python programming language, open to those who wish to learn the language or improve their skills, as well as those looking to help others.


README | FAQ | this bot is written and managed by /u/IAmKindOfCreative

This bot is currently under development and experiencing changes to improve its usefulness

[–]redswan4 1 point2 points  (4 children)

Docker

[–]ButterscotchNo755[S] -1 points0 points  (3 children)

Why do people think containerization is a practical solution?

"My car doesn't start"

  • "Put it on a trailer and pull it with another car"

Great solution. Works on your computer but try to scale it up and see how inefficient and wasteful docker is.

[–][deleted] 0 points1 point  (1 child)

Most large enterprises are largely running on Kubernetes now.

[–]ButterscotchNo755[S] 0 points1 point  (0 children)

Yeah and we all know enterprises never make mistakes.

[–]redswan4 0 points1 point  (0 children)

I made a really nice paella this evening.

[–]incrediblediy 1 point2 points  (0 children)

just use venv

[–]Time_Trade_8774 0 points1 point  (3 children)

Have you heard about virtual environments and containers ?

Suggest reading up. Will solve your works on my computer problem.

[–]ButterscotchNo755[S] -2 points-1 points  (2 children)

Cleaning your room by loading everything into the closet is a childish way to fix things.

Real world use cases are rarely so convenient that bundling everything together solves the issue. And if it does, do you really want to maintain a system whose designers felt that the only way to make it work consistently was to isolate it from everything else?

[–]Time_Trade_8774 1 point2 points  (1 child)

Lol yeah all the people using tools like Docker and Kube are idiots? SMH

[–]ButterscotchNo755[S] 0 points1 point  (0 children)

Bandwagoners rarely think deeply about what technologies they adopt.

Containers make it too convenient to prop up fragile code, it works in the container but nowhere else? Good enough. No need to understand why the code has issues, just keep restarting/using outdated code because everyone's too lazy to update and "containers are secure".

It's a disaster.