imagej / pyimagej

Use ImageJ from Python
https://pyimagej.readthedocs.io/
Other
474 stars 83 forks source link

Installing pyimagej #224

Closed adamcc closed 2 years ago

adamcc commented 2 years ago

Not a pyimagej issue per se, but affects accessibility, so am bringing to your attention: using conda to install mamba failed due to a likely conflict between anaconda (or conda?) and mamba. https://github.com/mamba-org/mamba/issues/1735

ctrueden commented 2 years ago

Thanks @adamcc. The PyImageJ docs say:

Installing via conda/mamba

Note: We strongly recommend using Mamba rather than plain Conda, because Conda is unfortunately terribly slow at configuring environments.

  1. Install Mambaforge.

...

And if I understand correctly, the problem you highlight is not relevant to mambaforge-based installations, right?

Is there something else you would recommend we say in the documentation to help people understand the current situation with conda and mamba? I personally always use mamba now, because in my experience conda is super slow and also fails to solve dependency configurations more often, whereas I've had good success with mamba. Is there some reason conda would still be preferred or required for certain use cases?

adamcc commented 2 years ago

Thanks for your help @ctrueden. I see the docs have been updated.

Yes, it's related to my attempt to install mamba with conda, which failed. I haven't tried to install mamba with the shell script.

I'm on a package manager learning curve. I just learned about the conda-forge/mambaforge/mamba/miniforge/microforge ecosystem a few days ago. Considering my other commitments at the moment, I probably won't be able to give pyimagej a try. I hope to check back in a while.

ctrueden commented 2 years ago

@adamcc Sounds good. I sympathize with the learning curve—the situation with pip/conda/mamba etc. is quite complicated. That's why we changed the docs to recommend mambaforge directly: it removes Conda & Anaconda from the mix.

About Homebrew: I think it's great. But sometimes it's tricky to know what's best to install with Homebrew versus some other method. For example, I installed miniconda via brew for a while, and it worked OK, but eventually I ran into some problems (I can't remember exactly what anymore), so switched to the shell script installer. And since then, mambaforge emerged as a better alternative to miniconda. As a general rule, I still attempt to install everything (including applications/casks) via Homebrew before trying any other installation method, since the brew formulae are usually excellently maintained and up-to-date, and easier to perform updates later.

I'm going to close this issue, since I don't think any action is needed on the PyImageJ side, but if you do circle back around to trying PyImageJ and run into any problems with it, please don't hesitate to ask on forum.image.sc or here on GitHub. :+1:

adamcc commented 2 years ago

@ctrueden Many thanks for the guidance and sympathy, much appreciated. I really like the idea of pyimagej and I wish I could have given it a go.

I think it's fair to say the scientists in my group wouldn't take well to being told to uninstall anaconda and start a whole new installation procedure to be able to use pyimagej, and I imagine this wouldn't be an uncommon reaction in other labs. If I'm still confused about the installation process after days of reading?

Inspired by your encouragement for homebrew: brew search --cask mambaforge Error: No formulae or casks found for "mambaforge".

nevertheless: https://formulae.brew.sh/cask/mambaforge#default Including the inscrutable: Please run the following to setup your shell: conda init "$(basename "${SHELL}")"

Anyhow, I'm excited about the pyimagej project and I hope to use it one day!

ctrueden commented 2 years ago

Including the inscrutable: Please run the following to setup your shell:

conda init "$(basename "${SHELL}")"

I think this just means to literally copy-paste that line into your shell, and it will edit your .zshrc for you. You should see something like:

==> Linking Binary 'conda' to '/usr/local/bin/conda'
🍺  mambaforge was successfully installed!
$ conda init "$(basename "${SHELL}")"
...
modified      /Users/curtis/.zshrc

==> For changes to take effect, close and re-open your current shell. <==

scientists in my group wouldn't take well to being told to uninstall anaconda and start a whole new installation procedure to be able to use pyimagej, and I imagine this wouldn't be an uncommon reaction in other labs.

That is fair. And you don't need mamba to use pyimagej, to be clear. It is just a package on conda-forge, like any other. If you have a working conda setup, you can install pyimagej from the conda-forge channel in the usual way. I'm just telling you that conda is suuper slow and everyone really should switch to mamba if they want a good experience.

adamcc commented 2 years ago

Thanks @ctrueden

After resolving some confusion about brew's relationship to casks, I managed to find mambaforge/mamba and install it.

I ran the conda command as you suggested, and even saw the message with the beer emoji. But after re-opening my shell:

% which mamba
mamba not found

(It may have failed because I haven't wiped conda/anaconda.)

I'll post this thread to the lab's message board for future reference. Most of my 'research' these days involves compliance paperwork, so I'll have to get back to that excitement.

Thanks for your help! 🍻