Live data from Hacker News

Escaping from Anaconda's Stranglehold on macOS

paulromer.net

71–80 of 286 posts

Re: Escaping from Anaconda's Stranglehold on macOS

#71
post #38

Earlier quoted context omitted.

It’s not a myth, Nix is incredibly complicated to get into and is actively hostile towards its users with the abysmal DSL and documentation. Every company we’ve tried to introduce it in has failed to adopt it primarily due to its incredibly steep learning curve

It is quite complicated to understand or to set up, yes, but I agree that it is easy to use. We use it at work for our dev environments. Like two or three of us are able to actually add packages, adjust nix configs, etc. Everyone else just runs `direnv allow` and automatically gets everything they need to build and run out software.

If you don't have enough manpower who can control and collaborate on the development of the environment, the project will not succeed to be adopted.

Programming language-specific dependency tools succeeded due to their user friendliness, however abysmal they are in multi-language / OS dependent environments (and I despise them for that reason). Cargo.toml, go.mod, conan.txt, Dockerfile etc. all are can be understood by basically all members of a dev team. You cannot say the same for Nix for most devs in a team.

Re: Escaping from Anaconda's Stranglehold on macOS

#72
post #17

Earlier quoted context omitted.

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.

Pip has gone down the shithole with its preaching about venvs. It's my computer. I'll install to site-packages if I damn well want to.

Re: Escaping from Anaconda's Stranglehold on macOS

#73
post #54

Earlier quoted context omitted.

Man you say that but many people simply do not understand that a command even is. They don't know to hit return after pasting or how much of the command to copy. Or they'll paste it in a text editor. There's just a lot of people that did not grow up using computers the same way as many here. Whether it's they grew up on mobile devices or have only ever used a GUI. I don't think it's reasonable to expect a developer t…

then they need to stop what they are doing, and learn how to use the system they are running first. there's no value in skipping ahead of basic "power user" learning for your preferred os. if you can't run basic commands, you dont' need to be writing python programs. if your educational institution is not providing you basic knowledge on how to use windows, macos, or linux, they are unfortunately failing you.

This PoV of software is why Excel (or Microsoft products in general) almost always wins against any database or specialized tool for creators, engineers, accountants alike.

macOS (and the entire Unix universe) is a shitty environment for people who rarely / don't need terminal but whose job could be improved by a lot if a scripting language is used.

Microsoft used to champion intermediate users who need more power than mindlessly clicking web pages. They are now turning their products yet another copy of the other systems where you are presented with a cliff as the learning curve.

I disagree completely that a simple programming environment should require terminal access. Terminals are unforgiving for mistakes that a beginner makes. Most of the terminal capabilities should be done in GUIs. One should be able to access all files, edit them, change the OS environment variables and create programming projects in GUIs. We achieved that in 90s already. Why should we go back?

Re: Escaping from Anaconda's Stranglehold on macOS

#74

> 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 cause of course is that million dollar fancy fancy enterprise software somehow being unable to give itself an isolated python package namespace, or provide any relevant errors when conflicts occurred.

The python packaging system has to be used in case studies of worst design decisions of all time.

Re: Escaping from Anaconda's Stranglehold on macOS

#75

> 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 have never broken my Python installation on Windows (official installer) despite recklessly installing anything. If I had broken it, I would have just uninstalled and reinstalled.

While not familiar with macOS (topic of this article), I think the Mac installer works the same.

On Debian of course you can cause great damage because the system Python is used for critical system functions. This is silly, I think the system python should be an isolated install in /usr/sbin. Better yet, move back to Perl for the system.

Re: Escaping from Anaconda's Stranglehold on macOS

#76

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.

This would be the sane advice.

Re: Escaping from Anaconda's Stranglehold on macOS

#77
post #57

Earlier quoted context omitted.

I thought a class of entirely non-tech art students how to use the commandline to run their python code within an hour and that includes distractions like people using multiple different operating systems and explai ing how paths work on each. Tech inclined students get the gist of the whole thing in less than 15 minutes. The CLI is literally just: You write a command and a thing happens. That isn't a thing that peop…

If anything I think a pure CLI environment would be easier for a lot of people than the incomprehensible skeumorphism-less jumble of controls that a lot of GUIs have turned into. Everything is built in text and done one command at a time, so there's much less mystery compared to trying to figure out what's even a button or not.

I suspect it depends upon the person. Plenty of people have difficulty remembering commands, and only the clever ones in that population will create a cheat sheet to help them along until they do remember them. On the other hand, they may have no trouble remembering where something is or what it looks like.

That said, I do resent people who claim CLIs are harder because of that. What works for one person may not work for another.

Re: Escaping from Anaconda's Stranglehold on macOS

#78

Earlier quoted context omitted.

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.

Pip has gone down the shithole with its preaching about venvs. It's my computer. I'll install to site-packages if I damn well want to.

What I usually do is make a venv using pip, then use that venv to install poetry in it, because I don't want to clutter my system with outdated poetry package. Then use Poetry to install packages inside the venv. So the pip part is merely for bootstrapping.

Re: Escaping from Anaconda's Stranglehold on macOS

#79

Clickbait title (“stranglehold”, really?), and also really bad advice. Terminal can be scary, but “open terminal from Applications/Utilities” and typing “rm ~/.zsh” is objectively easier. Also that’s not even the best solution, just a far better way to do this solution.

Pythons and anacondas are snakes which catch and kill their prey by strangling them and inducing cardiac arrest. It’s a pun.

[flagged]

Re: Escaping from Anaconda's Stranglehold on macOS

#80
post #40

Earlier quoted context omitted.

His audience is not programmers.

It quite literally is for students learning Python.

He is an economics professor, not a CS professor. His students may be going into jobs that require programming, but that doesn’t mean they are “programmers” or that the purpose of the class is to teach Python.
Post reply on HN