Live data from Hacker News

Escaping from Anaconda's Stranglehold on macOS

paulromer.net

101–110 of 286 posts

Re: Escaping from Anaconda's Stranglehold on macOS

#102

> 10. What Changes When You Are Free > You will not be forced to work inside something known as a “virtual environment.” Oof, this terrible advice cancels out an otherwise reasonable post. Beginners who don't know what they're doing are the last people who should be `pip install -r requirements.txt`-ing into the system Python the way this article is recommending. That's not only going to make working on multiple proj…

What I do on every dev machine is build Python from source and install it to ~/.localpython and put it in my path.

Then I can pip install away care-free, and quickly run scripts / repls without having to activate an environment.

Re: Escaping from Anaconda's Stranglehold on macOS

#103

> 10. What Changes When You Are Free > You will not be forced to work inside something known as a “virtual environment.” Oof, this terrible advice cancels out an otherwise reasonable post. Beginners who don't know what they're doing are the last people who should be `pip install -r requirements.txt`-ing into the system Python the way this article is recommending. That's not only going to make working on multiple proj…

I teach using python. You should try explaining virtual environments to students, most of them with no programming experience, or any real notion of the state of a computer system. I do, because we recommend students use them. Every class consists of endless debugging of student systems. After that you might understand the OP's viewpoint.

I think docker would be a much better alternative. You can just hand students a pre-built docker with everything installed and they are free to mess up the system without any consequences.

Re: Escaping from Anaconda's Stranglehold on macOS

#104
I work in HPC, and for all the Python programmers I come across, I'm surprised at how few of them know details about package management etc.

Of course I'm quite a bit biased because the majority of these people are coming to me for help...

Back to Anaconda. It's great system, and the problem is people learn how to use ML or whatever using Anaconda, and then when they get into the workplace, you need a license.

I really wish organizations would just buy licenses for the users that want them, it's so much of a pain to work around not having Anaconda. Their prebuilt packages are pretty helpful and time-saving, even thought you "don't need it" and you can get along with using just pip, but you'll have to provide workarounds for projects that use Conda.

Re: Escaping from Anaconda's Stranglehold on macOS

#105

Earlier quoted context omitted.

I teach using python. You should try explaining virtual environments to students, most of them with no programming experience, or any real notion of the state of a computer system. I do, because we recommend students use them. Every class consists of endless debugging of student systems. After that you might understand the OP's viewpoint.

After that I wonder why people think Python is a good choice to teach as a first experience in programming. Virtual environments is actually my biggest gripe with Python. I think it is interesting to consider why Python is so popular despite such fiascos. The answers can be very informative but can also be giant red flags.

Because every option sucks for teaching.

C/C++? Full of footguns. Java/C#? Too complicated for beginners. Pascal? Outdated. Etc.

I personally prefer C to teach first-year CS students but just as the lesser evil. A good first programming language is sorely lacking.

(Note that I'm talking about the imperative programming paradigm. The debate on whether one should start with functional programming is outside the scope of this comment).

Re: Escaping from Anaconda's Stranglehold on macOS

#106

Earlier quoted context omitted.

I teach using python. You should try explaining virtual environments to students, most of them with no programming experience, or any real notion of the state of a computer system. I do, because we recommend students use them. Every class consists of endless debugging of student systems. After that you might understand the OP's viewpoint.

After that I wonder why people think Python is a good choice to teach as a first experience in programming. Virtual environments is actually my biggest gripe with Python. I think it is interesting to consider why Python is so popular despite such fiascos. The answers can be very informative but can also be giant red flags.

It’s not just the packaging situation that makes Python a bad first language. Whenever I write in Python, I find it completely impossible to stop myself from constantly making basic, beginner-level programming mistakes. Every time I miss having a compiler and strict typing that will yell at me when I’ve done something stupid.

Re: Escaping from Anaconda's Stranglehold on macOS

#107
What is an “official version of python”?

Anaconda is a distribution, which to my understanding, includes an official version of Python. Anaconda includes its own way of doing things to solve a lot of common problems people face.

Personally, I don’t use Anaconda any longer because I ran into so many issues over so many years with conda, their package manager. I’m also almost competent enough to deal with a lot of the problems that anaconda tries to solve. This likely isn’t the case for beginners.

Virtual environments are great and, I’d argue, what people should be using 99% of the time.

Re: Escaping from Anaconda's Stranglehold on macOS

#108
Contrast the python experience with R, MATLAB, Mathematica, (even Julia). That should be what python ecosystem should aspire to. Blaming students for not understanding command line, virtual env, package management versioning etc.. and screwing around with magic incantations (to them) is just a sad reflection of how unfriendly this frankensystem is. Doubly sad that python is the default way to learn anything nowadays.

Re: Escaping from Anaconda's Stranglehold on macOS

#109

> 10. What Changes When You Are Free > You will not be forced to work inside something known as a “virtual environment.” Oof, this terrible advice cancels out an otherwise reasonable post. Beginners who don't know what they're doing are the last people who should be `pip install -r requirements.txt`-ing into the system Python the way this article is recommending. That's not only going to make working on multiple proj…

Yes. I recently had to debug my gf’s entire work computer setup getting fubar’d from installing a pip package at a user level that conflicted with the name of some package used internally by the 10k+/seat/year software the company devices have installed. Proximal cause? The installer “helpfully” failed over to installing at the user level when she didn’t have permissions to write to the place she told it to. Root cau…

Python has dogshit package management that makes java look well thought out and sane.

Re: Escaping from Anaconda's Stranglehold on macOS

#110

I work in HPC, and for all the Python programmers I come across, I'm surprised at how few of them know details about package management etc. Of course I'm quite a bit biased because the majority of these people are coming to me for help... Back to Anaconda. It's great system, and the problem is people learn how to use ML or whatever using Anaconda, and then when they get into the workplace, you need a license. I real…

The Anaconda Distribution has pretty good coverage of what scientific/technical Python users require. I'd wager that they rarely need to concern themselves about package management.

I had a pretty rough time with Anaconda Team Edition when it was rolled out by my employer. The security team required that any package with a high CVE score be filtered out of the on-prem repository. Fair enough, but it just led to packages and dependencies being constantly broken. IIRC, it wasn't possible to give normal users the ability to view CVE scores, which just compounded the issue.

Post reply on HN