# Version mismatch between pymc3 and theano-pymc3

**URL:** <https://discourse.pymc.io/t/version-mismatch-between-pymc3-and-theano-pymc3/6768>\
**Category:** Questions\
**Created:** [February 15, 2021, 3:27pm UTC](https://discourse.pymc.io/t/version-mismatch-between-pymc3-and-theano-pymc3/6768 "2021-02-15T15:27:59Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ken\_Dere](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.pymc.io/ken_dere/32/2268_2.png) [@Ken\_Dere](https://discourse.pymc.io/u/Ken_Dere)\
**Post date:** [February 15, 2021, 3:27pm UTC](https://discourse.pymc.io/t/version-mismatch-between-pymc3-and-theano-pymc3/6768/1 "2021-02-15T15:27:59Z")

</div>

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 ‘setup.py 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 setup.py 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

---

<div class="post-metadata">

**Author:** ![twiecki](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.pymc.io/twiecki/32/6930_2.png) [@twiecki](https://discourse.pymc.io/u/twiecki)\
**Post date:** [February 15, 2021, 6:20pm UTC](https://discourse.pymc.io/t/version-mismatch-between-pymc3-and-theano-pymc3/6768/2 "2021-02-15T18:20:46Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Ken\_Dere](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.pymc.io/ken_dere/32/2268_2.png) [@Ken\_Dere](https://discourse.pymc.io/u/Ken_Dere)\
**Post date:** [February 15, 2021, 6:23pm UTC](https://discourse.pymc.io/t/version-mismatch-between-pymc3-and-theano-pymc3/6768/3 "2021-02-15T18:23:58Z")

</div>

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

thanks

---

<div class="post-metadata">

**Author:** ![twiecki](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.pymc.io/twiecki/32/6930_2.png) [@twiecki](https://discourse.pymc.io/u/twiecki)\
**Post date:** [February 16, 2021, 8:21am UTC](https://discourse.pymc.io/t/version-mismatch-between-pymc3-and-theano-pymc3/6768/4 "2021-02-16T08:21:54Z")

</div>

You can get more details on installation here:

> **[pymc-devs/pymc3 - Installation](https://github.com/pymc-devs/pymc3#installation)**
>
> Probabilistic Programming in Python: Bayesian Modeling and Probabilistic Machine Learning with Theano

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

---

<div class="post-metadata">

**Author:** ![Ken\_Dere](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.pymc.io/ken_dere/32/2268_2.png) [@Ken\_Dere](https://discourse.pymc.io/u/Ken_Dere)\
**Post date:** [February 28, 2021, 3:56pm UTC](https://discourse.pymc.io/t/version-mismatch-between-pymc3-and-theano-pymc3/6768/5 "2021-02-28T15:56:55Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![jabowery](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.pymc.io/jabowery/32/4234_2.png) [@jabowery](https://discourse.pymc.io/u/jabowery)\
**Post date:** [July 3, 2021, 11:05pm UTC](https://discourse.pymc.io/t/version-mismatch-between-pymc3-and-theano-pymc3/6768/6 "2021-07-03T23:05:02Z")

</div>

Fresh conda environment and installed according to

> **[pymc-devs/pymc3](https://github.com/pymc-devs/pymc3/wiki/Installation-Guide-(Linux))**
>
> Probabilistic Programming in Python: Bayesian Modeling and Probabilistic Machine Learning with Aesara - pymc-devs/pymc3

Nevertheless, after installing BMLingam:

[https://taku-y.github.io/bmlingam/installation.html](https://taku-y.github.io/bmlingam/installation.html)

and running:

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

I got the aforementioned error message:

`No module named ‘theano.gof’`

---

<div class="post-metadata">

**Author:** ![twiecki](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.pymc.io/twiecki/32/6930_2.png) [@twiecki](https://discourse.pymc.io/u/twiecki)\
**Post date:** [July 7, 2021, 5:11am UTC](https://discourse.pymc.io/t/version-mismatch-between-pymc3-and-theano-pymc3/6768/7 "2021-07-07T05:11:05Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![jabowery](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.pymc.io/jabowery/32/4234_2.png) [@jabowery](https://discourse.pymc.io/u/jabowery)\
**Post date:** [July 7, 2021, 3:17pm UTC](https://discourse.pymc.io/t/version-mismatch-between-pymc3-and-theano-pymc3/6768/8 "2021-07-07T15:17:42Z")

</div>

[pymc3\>=3.0.rc2](https://github.com/taku-y/bmlingam/blob/master/requirements.txt)

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](https://github.com/pymc-devs/pymc3/blob/main/RELEASE-NOTES.md). It was easy to install and get v4 running. Worked first time.

---

<div class="post-metadata">

**Author:** ![twiecki](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.pymc.io/twiecki/32/6930_2.png) [@twiecki](https://discourse.pymc.io/u/twiecki)\
**Post date:** [July 9, 2021, 2:04pm UTC](https://discourse.pymc.io/t/version-mismatch-between-pymc3-and-theano-pymc3/6768/9 "2021-07-09T14:04:28Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![jabowery](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.pymc.io/jabowery/32/4234_2.png) [@jabowery](https://discourse.pymc.io/u/jabowery)\
**Post date:** [July 9, 2021, 2:51pm UTC](https://discourse.pymc.io/t/version-mismatch-between-pymc3-and-theano-pymc3/6768/10 "2021-07-09T14:51:42Z")

</div>

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.
