Version mismatch between pymc3 and theano-pymc3

I have tried installing pymc3 and theano-pymc3. I cloned the repository and then

pip install -r requirements.txt

got the followng error message:

at the end. I did save the full output if needed by someone

Using legacy ‘ install’ for theano-pymc, since package ‘wheel’ is not installed.
Installing collected packages: theano-pymc
Attempting uninstall: theano-pymc
Found existing installation: Theano-PyMC 1.0.11
Uninstalling Theano-PyMC-1.0.11:
Successfully uninstalled Theano-PyMC-1.0.11
Running install for theano-pymc … done
ERROR: pip’s dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
pymc3 3.10.0 requires theano-pymc==1.0.11, but you have theano-pymc 1.1.2 which is incompatible.
Successfully installed theano-pymc-1.1.2

It does look like it worked correctly, did you try importing pymc3?

Also, we strongly recommend using conda to install as it’s really hard to install Theano in a way that correctly uses the system compilers and conda comes with its own.

if I try to import pymc3, I get

No module named ‘theano.gof’

I do have a conda account so I guess I will try that


You can get more details on installation here:

I think you have an old version of theano, so before anything I would pip uninstall theano.

the solution I eventually come up with was to use mini-forge
I run opensuse linux and am happy with their software management
Just plain conda was overkill for me
thanks for the help

Fresh conda environment and installed according to

Nevertheless, after installing BMLingam:

and running:

# bmlingam-causality sampledata.csv --result_dir=result

I got the aforementioned error message:

No module named ‘theano.gof’

Are you sure that installing blingam didn’t pull in an old PyMC3 version? Can you post the theano-pymc and pymc3 versions?


After a variety of attempts to get this installed in a variety of combinations of conda, pip, git and a variety of interventions in which versions were installed in what order…

I gave up and rewrote bmlingam to use v4.0.0. It was easy to install and get v4 running. Worked first time.

That’s great! Maybe do a PR to bmlingam so that others can use it.

I would except I made some modifications in the guts of bmlingam necessary to reduce the O(N^2) of its causal exploratory data analysis, that would not translate to others’ datasets. What I did was take advantage of a naming convention I use in my dataset to avoid pairs of variables that aren’t very informative. For example, each variable has a suffix on its name consisting of 4 digits specifying the year for which the variable was measured – to avoid intra-variable time-series causal calculations.

Perhaps there is a way of making this kind of thing general by providing a call-back, defaulting to None, to do pruning pairs.