Managing Python

The short answer is because some people don’t like conda and we try to be flexible about it. That said, @mhanwell is working on having a conda-forge build of Avogadro so that conda enthusiasts can install Avogadro from conda.

Yes, I think there are two parts of this:

  • the Windows installer ideally should check for Python / conda and suggest installing it
  • Avogadro should check at least at the first launch for python and link to the miniforge installer for users to download.

That can be an option, but some of us have environments we’d already want to use. Certainly the Python settings / “Choose Python” command should offer the ability to create a new environment … that’s a good idea.

But that’s precisely the reason I don’t want to require conda. For one, not every user has admin rights on their computer. For another, users may have installed various packages / environments on their computer already. Why do they need to install an entirely new package manager / ecosystem to use Avogadro. Why can’t Avogadro just detect and select the environment I want as a user?

Requiring conda / conda-forge makes the code easier sure, but does it make it more user-friendly? I don’t think so. (Maybe it’s “user-grumpy” instead?)

Sure, but what if someone is running Ubuntu or Fedora or FreeBSD and they already installed those programs via their native package manager? Oh, or homebrew on Mac, since the Grimme group maintains a homebrew tap.

A bunch of the needed pieces are in a contributed pull request … unfortunately research11111 doesn’t want to use their full name in the code signoff. I have some pieces in a branch, but I’ve been spending more time on the spectra dialog for now.