Live data from Hacker News

Escaping from Anaconda's Stranglehold on macOS

paulromer.net

21–30 of 286 posts

Re: Escaping from Anaconda's Stranglehold on macOS

#21

I’m not sure about what the problem here is. If the target user cannot be bothered to learn about “the shell” why should they care about the Python vendor? And the procedure shown is not easy peasy for a newbie.

Probably because of anacondas licensing change...

Re: Escaping from Anaconda's Stranglehold on macOS

#22
post #13

Earlier quoted context omitted.

TFA is for students who are (presumably) very early in their programming careers. Python is often billed as a good language for beginners because it does not require the author to keep track of curly braces or line-ending semicolons, and it lets the author focus less on syntax and more on reasoning with code. Wouldn't it be nice if the beginner could focus on learning Python instead of having to learn stupid minutiae…

At some point they'll have to learn about the file system, shell, network. Otherwise there is little point in learning Python. Octave, Matlab, Mathematica, Julia, R are superior for small programs with just a couple of functions. Escaping the stranglehold of Python would be the next project!

Well said. I am grateful that my employer licenses Matlab, Simulink, and a lot of toolboxes and blocksets. The IDE and especially the documentation help me get stuff done. We've had waves of Python as a Matlab killer first with Enthought and then Anaconda as the repository. I gave Python an honest try but was spending all my time searching for help on package after package with poor to no documentation and trying to debug code with substandard tools.

Re: Escaping from Anaconda's Stranglehold on macOS

#23
post #17

Nobel laureate Paul Romer sharing some Python advice is a little strange!

Whatever project solves Python dependency management deserves to get a Nobel in Economics for saving humanity billion of hours per year.

Usually I simply use pip and poetry. Haven't run into an issue in a long time. Privately I use Guix often, when it has the required packages. I find the dependency management mostly to be already solved. Perhaps I am not riding along the edge enough, to see things broken.

Re: Escaping from Anaconda's Stranglehold on macOS

#24
post #18

I collaborate with people that use macOS while I use Linux. For reproducible environments, Nix has served us well. Despite the myth, it is not hard to use unless you need to package something complicated or messy. Then it may become hard. The advantage of Nix is total version reproducibility and declarativeness. It's quite reassuring to know things are exactly the same on all computers.

I am fully on board with having reproducible declarative setups, line Nix or Guix offer. I want to note though, that the versions and original code may be the same, but it can still happen that something behaves differently on another OS. The code of some version of a package can intentionally do things differently on another OS. So you are not 100% safe from MacOS disturbing things. I wish though, that at my job peo…

Sure, but if you run the same Nix flake on two macOS machines with the same architecture, it will have the same behavior.

Most of package managers don't offer that guarantee. Only Guix has a similar level of assurance?

Nix openly recognizes outputs are different per platform, x86_64-linux is different from aarch64-darwin. Impossible not to, as ultimately architectures may behave differently.

Re: Escaping from Anaconda's Stranglehold on macOS

#25
post #13

Earlier quoted context omitted.

TFA is for students who are (presumably) very early in their programming careers. Python is often billed as a good language for beginners because it does not require the author to keep track of curly braces or line-ending semicolons, and it lets the author focus less on syntax and more on reasoning with code. Wouldn't it be nice if the beginner could focus on learning Python instead of having to learn stupid minutiae…

At some point they'll have to learn about the file system, shell, network. Otherwise there is little point in learning Python. Octave, Matlab, Mathematica, Julia, R are superior for small programs with just a couple of functions. Escaping the stranglehold of Python would be the next project!

Matlab is a categorical loss due to its proprietary character, R debatable, Julia, maybe yes. Octave, while at least not proprietary, still surely not, if the task is anything but some matrix multiplication or matrices using program.

Re: Escaping from Anaconda's Stranglehold on macOS

#26
post #13

Earlier quoted context omitted.

TFA is for students who are (presumably) very early in their programming careers. Python is often billed as a good language for beginners because it does not require the author to keep track of curly braces or line-ending semicolons, and it lets the author focus less on syntax and more on reasoning with code. Wouldn't it be nice if the beginner could focus on learning Python instead of having to learn stupid minutiae…

At some point they'll have to learn about the file system, shell, network. Otherwise there is little point in learning Python. Octave, Matlab, Mathematica, Julia, R are superior for small programs with just a couple of functions. Escaping the stranglehold of Python would be the next project!

>At some point they'll have to learn about the file system, shell, network. Otherwise there is little point in learning Python.

Sure, but I would argue that overwhelming someone with all those topics at the beginning is counterproductive.

Re: Escaping from Anaconda's Stranglehold on macOS

#28
This is insane lmao. Why not just edit out the line that added into your .zshrc (or by extension the .bashrc) instead of running through all these complicated GUI specific things just to basically rename the file so that ZSH doesn't load it when it runs a shell???

This is exactly why you should learn to use your tools properly, learn just a tiny tiny tiny bit of posix shell (which works for ALL posix shells sh, tcsh, bash, zsh etc...) so that you can understand what the heck is going on.

Like seriously, this is day one stuff. Your shell loads a configuration file and you can set programs to run on start, or configure shell options, set aliases etc... This is nuts man.

in fact I was so baffled that I wrote my own article response https://sweetbbak.github.io/post/response-to-mac-anaconda/

Re: Escaping from Anaconda's Stranglehold on macOS

#29
As expected, I see comments here like "Avoiding sh overcomplicates this." It's true. I found the shell-avoiding instructions no better, and possibly worse, than shell commands.

But: what's sauce for the end user goose is sauce for the developer gander. Developers are users. Give developers good visual tools. Sadly I don't think there is a visual front end to git,, for example, that is any good among the handful I have tried and the dozens that attempt to make git safe, discoverable, and visually obvious.

Re: Escaping from Anaconda's Stranglehold on macOS

#30

You can just keep Anaconda and just use it as a pyenv replacement, e.g.: conda create -n "myenv" python=3.8 conda activate myenv Then just use pip in your environment, if you don’t like conda packages. Not sure what the paragraph about being able to install multiple Python versions after getting rid of Anaconda is about.

I had to do this, using Anaconda as a pyenv replacement, because I worked with people with many levels of IT bureaucracy. They couldn't just go to python.org, download an official release, and use it within their user profile. They were only allowed to use Anaconda because it was on a list of approved software.
Post reply on HN