conda-forge / pymc3-feedstock

A conda-smithy repository for pymc3.
BSD 3-Clause "New" or "Revised" License
5 stars 17 forks source link

AttributeError: module 'arviz' has no attribute 'geweke' for Python 3.9.7 #77

Open fickse opened 3 years ago

fickse commented 3 years ago

Issue: AttributeError: module 'arviz' has no attribute 'geweke' for Python 3.9.7

Similar to https://discourse.pymc.io/t/attributeerror-module-arviz-has-no-attribute-geweke/6818
But with different different python version.

Steps to reproduce:

conda create -n pymc -c conda-forge python=3.9
conda activate pymc
conda install -c conda-forge -y pymc3
python -c "import pymc3"


Environment (conda list):

``` $ conda list # Name Version Build Channel _libgcc_mutex 0.1 conda_forge conda-forge _openmp_mutex 4.5 1_gnu conda-forge arviz 0.11.4 pyhd8ed1ab_0 conda-forge binutils_impl_linux-64 2.36.1 h193b22a_2 conda-forge binutils_linux-64 2.36 hf3e587d_33 conda-forge bzip2 1.0.8 h7f98852_4 conda-forge c-ares 1.18.1 h7f98852_0 conda-forge ca-certificates 2021.10.8 ha878542_0 conda-forge cached-property 1.5.2 hd8ed1ab_1 conda-forge cached_property 1.5.2 pyha770c72_1 conda-forge certifi 2021.10.8 py39hf3d152e_1 conda-forge cftime 1.5.1.1 py39hce5d2b2_1 conda-forge colorama 0.4.4 pyh9f0ad1d_0 conda-forge curl 7.80.0 h494985f_0 conda-forge cycler 0.11.0 pyhd8ed1ab_0 conda-forge fastprogress 1.0.0 py_0 conda-forge freetype 2.10.4 h0708190_1 conda-forge gcc_impl_linux-64 7.5.0 hda68d29_13 conda-forge gcc_linux-64 7.5.0 h47867f9_33 conda-forge gxx_impl_linux-64 7.5.0 h64c220c_13 conda-forge gxx_linux-64 7.5.0 h555fc39_33 conda-forge h5py 3.4.0 nompi_py39h7e08c79_101 conda-forge hdf4 4.2.15 h10796ff_3 conda-forge hdf5 1.12.1 nompi_h7f166f4_101 conda-forge importlib-metadata 4.8.2 py39hf3d152e_0 conda-forge importlib_metadata 4.8.2 hd8ed1ab_0 conda-forge jbig 2.1 h7f98852_2003 conda-forge jpeg 9d h36c2ea0_0 conda-forge kernel-headers_linux-64 2.6.32 he073ed8_15 conda-forge kiwisolver 1.3.2 py39h1a9c180_1 conda-forge krb5 1.19.2 h48eae69_3 conda-forge lcms2 2.12 hddcbb42_0 conda-forge ld_impl_linux-64 2.36.1 hea4e1c9_2 conda-forge lerc 3.0 h9c3ff4c_0 conda-forge libblas 3.9.0 12_linux64_openblas conda-forge libcblas 3.9.0 12_linux64_openblas conda-forge libcurl 7.80.0 h494985f_0 conda-forge libdeflate 1.8 h7f98852_0 conda-forge libedit 3.1.20191231 he28a2e2_2 conda-forge libev 4.33 h516909a_1 conda-forge libffi 3.4.2 h7f98852_5 conda-forge libgcc-ng 11.2.0 h1d223b6_11 conda-forge libgfortran-ng 11.2.0 h69a702a_11 conda-forge libgfortran5 11.2.0 h5c6108e_11 conda-forge libgomp 11.2.0 h1d223b6_11 conda-forge libgpuarray 0.7.6 h7f98852_1003 conda-forge liblapack 3.9.0 12_linux64_openblas conda-forge libnetcdf 4.8.1 nompi_hb3fd0d9_101 conda-forge libnghttp2 1.43.0 ha19adfc_1 conda-forge libopenblas 0.3.18 pthreads_h8fe5266_0 conda-forge libpng 1.6.37 h21135ba_2 conda-forge libssh2 1.10.0 ha35d2d1_2 conda-forge libstdcxx-ng 11.2.0 he4da1e4_11 conda-forge libtiff 4.3.0 h6f004c6_2 conda-forge libwebp-base 1.2.1 h7f98852_0 conda-forge libzip 1.8.0 h1c5bbd1_1 conda-forge libzlib 1.2.11 h36c2ea0_1013 conda-forge lz4-c 1.9.3 h9c3ff4c_1 conda-forge mako 1.1.5 pyhd8ed1ab_0 conda-forge markupsafe 2.0.1 py39h3811e60_1 conda-forge matplotlib-base 3.4.3 py39h2fa2bec_1 conda-forge ncurses 6.2 h58526e2_4 conda-forge netcdf4 1.5.8 nompi_py39h64b754b_101 conda-forge numpy 1.21.4 py39hdbf815f_0 conda-forge olefile 0.46 pyh9f0ad1d_1 conda-forge openjpeg 2.4.0 hb52868f_1 conda-forge openssl 3.0.0 h7f98852_2 conda-forge packaging 21.2 pyhd8ed1ab_1 conda-forge pandas 1.3.4 py39hde0f152_1 conda-forge patsy 0.5.2 pyhd8ed1ab_0 conda-forge pillow 8.4.0 py39ha612740_0 conda-forge pip 21.3.1 pyhd8ed1ab_0 conda-forge pygpu 0.7.6 py39hce5d2b2_1003 conda-forge pymc3 3.9.3 py_1 conda-forge pyparsing 2.4.7 pyhd8ed1ab_1 conda-forge python 3.9.7 hf930737_3_cpython conda-forge python-dateutil 2.8.2 pyhd8ed1ab_0 conda-forge python_abi 3.9 2_cp39 conda-forge pytz 2021.3 pyhd8ed1ab_0 conda-forge readline 8.1 h46c0cb4_0 conda-forge scipy 1.7.2 py39hee8e79c_0 conda-forge setuptools 58.5.3 py39hf3d152e_0 conda-forge six 1.16.0 pyh6c4a22f_0 conda-forge sqlite 3.36.0 h9cd32fc_2 conda-forge sysroot_linux-64 2.12 he073ed8_15 conda-forge theano 1.0.5 py39h41458e0_1 conda-forge tk 8.6.11 h27826a3_1 conda-forge tornado 6.1 py39h3811e60_2 conda-forge tqdm 4.62.3 pyhd8ed1ab_0 conda-forge typing-extensions 3.10.0.2 hd8ed1ab_0 conda-forge typing_extensions 3.10.0.2 pyha770c72_0 conda-forge tzdata 2021e he74cb21_0 conda-forge wheel 0.37.0 pyhd8ed1ab_1 conda-forge xarray 0.20.1 pyhd8ed1ab_0 conda-forge xz 5.2.5 h516909a_1 conda-forge zipp 3.6.0 pyhd8ed1ab_0 conda-forge zlib 1.2.11 h36c2ea0_1013 conda-forge zstd 1.5.0 ha95c52a_0 conda-forge ```


Details about conda and system ( conda info ):

``` active environment : pymc active env location : /home/steve/tools/miniconda3/envs/pymc shell level : 2 user config file : /home/steve/.condarc populated config files : /home/steve/.condarc conda version : 4.9.2 conda-build version : not installed python version : 3.7.7.final.0 virtual packages : __glibc=2.31=0 __unix=0=0 __archspec=1=x86_64 base environment : /home/steve/tools/miniconda3 (writable) channel URLs : https://conda.anaconda.org/conda-forge/linux-64 https://conda.anaconda.org/conda-forge/noarch https://repo.anaconda.com/pkgs/main/linux-64 https://repo.anaconda.com/pkgs/main/noarch https://repo.anaconda.com/pkgs/r/linux-64 https://repo.anaconda.com/pkgs/r/noarch package cache : /home/steve/tools/miniconda3/pkgs /home/steve/.conda/pkgs envs directories : /home/steve/tools/miniconda3/envs /home/steve/.conda/envs platform : linux-64 user-agent : conda/4.9.2 requests/2.24.0 CPython/3.7.7 Linux/5.11.0-38-generic ubuntu/20.04.2 glibc/2.31 UID:GID : 1000:1000 netrc file : None offline mode : False ```
michaelosthege commented 3 years ago

You ended up with a really old PyMC version there. But it should be fine to pip install "pymc3==3.11.4" on top.

This is a frequently observed problem with conda channels, I can't find a corresponding ticket though.

maresb commented 3 years ago

I recently learned that the proper way to fix this on conda-forge is to make a repodata patch. That way we can retroactively fix the broken version pins.

It's conda's job to handle these dependencices correctly. Until it does, the feedstock is broken IMHO.