10 ms·
I would advice against all of those recommandations. It would be very long to explain point by point, but in short, my experience is that if someone is asking O
by BiteCode_dev 4y ago
I would advice against all of those recommandations. It would be very long to explain point by point, but in short, my experience is that if someone is asking OP's question, they don't have the experience to deal with the modes of failure of what you are proposing
There is not a lot of things I'm very adament about.
Yet when it comes to python env setup, I have a strong opinion on the matter, built from seing hundreds of people failing at it in a thousand ways.
Looking for the best solution will not work.
You have to go to the minimal one that does the job, which have the least possible ways to fail. And still work in 5 years.
Most people like you, giving advices on HN, know too much about it to realize you solve lots of problems without even thinking when you perform your workflow.
But the average python user don't have this knowledge. They just want to get things done and have something that works.
I am very confident in these claims, although a HN comment is not the best format to demonstrate it.
I should write an article on it honestly at this point because so many devs are suffering for this.
A new team has been put in place to work on packaging officially in python. But the fruits will take years to mature.
- ActorNightly 4y agoCan you give me at least one of the points that you disagree with and reasons why?
- BiteCode_dev 4y agoThe first one, build from sources, is incredibly easy to get wrong. You may end up with an incomplete python without proper tkinter, ssl or zip support. Sometimes it will look like it works, only to fail later down the line when you use some part of openssl that requests don't exercice often or when you install numpy/scipy wheels. Not to mention someone will do "make install" instead of "altinstall" and break their machine with a 3 letters mistake since apt or rpm python will get erased. If you wonder how to setup a python venv, you should not compile anything (so no oyenv neiter). In the same way that if you wonder what oil to put in your car, you should not attempt to fix your breaks. The fact you suggested it underlines my point that you are too experienced with the stack to give advices that would be useful for most confused devs in python. A C# dev that starts python just wants, and needs, one reliable happy path. In fact, it's part of the problem. Paradox of choice, with too many solutions that won't fit the average user context. Funnily, now that I get close to 20 years of python, I find myself going back to the beginner stuff.
- salawat 4y agoWhat's with the push to encourage people not to learn? Get em started, let em figure the rest out as they run into it. You aren't gonna be here forever. The test of a tool is learnability.
- BiteCode_dev 4y agoOf they will learn. But instead of having to learn about how to setup python, they will spend the same time learning on how to solve their problem with python. Given that days have only 24 hours, the latter is more attractive to a lot of people.
- ActorNightly 4y ago>You may end up with an incomplete python without proper tkinter, ssl or zip support. I specifically said after installing dependencies, which is mentioned in the documentation.
- BiteCode_dev 4y agoThe documentation doesn't, and cannot, mention how to install said dependencies for each distro and version. It is non trivial, and hand waving that is like the "draw the rest of the owl" meme. Even if the 10 most popular distros were documented, with all their supported versions, and if it covered windows and mac versions as well, and dealt with people in corporation not having admin rights on their machine, you'd still have so many steps a human error will be more likely to be inserted than just use what I suggested. Again showing that you are so good at dealing with complexity you are not even seing it. The only way I could convince you at this point would be to make you train 10 different teams, of 10 different people in 10 different contexts and give you one million of dollar if after one year you come back to see that their department has this stuff streamlined. But I can't do that so that will have to be the end of this thread.
- pg_1234 4y agoThe really insidious one is: > If you want to just write scripts to test things ... So often "just scripts" evolve into long term projects, and, due to time pressure etc. never free themselves of bad foundations.