Pymc3 - 'final' stable release on conda?

I’ve had a lot of problems lately with installing pymc3 for both dev and use. I tend to use environments for development work but keep a “base” for production, but I’ve had so many problems keeping pymc3, pymc-theano, aesera and arviz up to date in this env - there seem to be a lot of clashes resulting in failed solves and a corrupted environment. Indeed, even with a brand new env, following the pymc3 install instructions still results in a failed solve.

As an example, attached is the output from a new python 3.9 environment, having installed pymc3 per instructions, and then just adding the rather vanilla spyder kernel so that I can use spyder in this env.

If this situation is not unique to my setup, can I suggest getting a (more or less) frozen final pymc3 release on conda that doesn’t corrupt environments?

Sorry to be identifying a problem without being able to offer a solution, but I’m not dev-enough to help with getting a stable conda version setup.

here_be_dragons.txt (145.0 KB)

I had similar problems. The following worked for me a couple of months ago. Installations are into fresh environments.

INSTALL RELEASE 3.11.2

conda create --name pymc3.11.2 python=3.9
conda activate pymc3.11.2
conda install -c conda-forge mkl pymc3 theano-pymc
pip3 install jupyter

INSTALL FROM LOCAL REPOSITORY

conda create -n pydev2 python=3.9.5
conda activate pydev2
pip install -e .
pip install Jupyter
python -m ipykernel install --user --name pydev2 --display-name “pydev2”

INSTALL PYTEST:

python3.9 -m pip install pytest

Even though this works, I’d suggest to install Jupyter from conda-forge as well. Also, when you already indicate you want to use the conda-forge channel when you create the new env, everything will come from there. Keeping the source (and managers) of packages as clean as possible certainly helps in keeping your envs healthy.

Perhaps naively, I don’t see the reason to install jupyter or spyder in the env, since the kernel can just be switched as necessary. Both still need the ipykernel or spyder-kernel in the env of course, but not the whole package…surely?!