pymc
pymc copied to clipboard
Conda can select old PyMC version with "conda install -c conda-forge pymc"
Description of your problem
Please provide a minimal, self-contained, and reproducible example.
On Linux,
conda create -y --name pymc4-5875 -c conda-forge python=3.9
conda activate pymc4-5875
conda install -y -c conda-forge pymc
results in the installation of conda-forge/linux-64::pymc-4.0.0b6-py39ha563b64_0. This beta version doesn't install mkl-service and results in
$ python -c "import pymc"
/tmp/tmp55mck6a7/source.c:1:10: fatal error: cblas.h: No such file or directory
1 | #include <cblas.h>
| ^~~~~~~~~
compilation terminated.
It's reported that subsequent inference is very slow.
Please provide the full traceback.
$ conda create -y --name pymc4-5875 -c conda-forge python=3.9
Collecting package metadata (current_repodata.json): done
Solving environment: done
==> WARNING: A newer version of conda exists. <==
current version: 4.11.0
latest version: 4.13.0
Please update conda by running
$ conda update -n base conda
## Package Plan ##
environment location: ~/micromamba/envs/pymc4-5875
added / updated specs:
- python=3.9
The following NEW packages will be INSTALLED:
_libgcc_mutex conda-forge/linux-64::_libgcc_mutex-0.1-conda_forge
_openmp_mutex conda-forge/linux-64::_openmp_mutex-4.5-2_gnu
bzip2 conda-forge/linux-64::bzip2-1.0.8-h7f98852_4
ca-certificates conda-forge/linux-64::ca-certificates-2022.5.18.1-ha878542_0
ld_impl_linux-64 conda-forge/linux-64::ld_impl_linux-64-2.36.1-hea4e1c9_2
libffi conda-forge/linux-64::libffi-3.4.2-h7f98852_5
libgcc-ng conda-forge/linux-64::libgcc-ng-12.1.0-h8d9b700_16
libgomp conda-forge/linux-64::libgomp-12.1.0-h8d9b700_16
libnsl conda-forge/linux-64::libnsl-2.0.0-h7f98852_0
libuuid conda-forge/linux-64::libuuid-2.32.1-h7f98852_1000
libzlib conda-forge/linux-64::libzlib-1.2.12-h166bdaf_0
ncurses conda-forge/linux-64::ncurses-6.3-h27087fc_1
openssl conda-forge/linux-64::openssl-3.0.3-h166bdaf_0
pip conda-forge/noarch::pip-22.1.2-pyhd8ed1ab_0
python conda-forge/linux-64::python-3.9.13-h2660328_0_cpython
python_abi conda-forge/linux-64::python_abi-3.9-2_cp39
readline conda-forge/linux-64::readline-8.1-h46c0cb4_0
setuptools conda-forge/linux-64::setuptools-62.3.3-py39hf3d152e_0
sqlite conda-forge/linux-64::sqlite-3.38.5-h4ff8645_0
tk conda-forge/linux-64::tk-8.6.12-h27826a3_0
tzdata conda-forge/noarch::tzdata-2022a-h191b570_0
wheel conda-forge/noarch::wheel-0.37.1-pyhd8ed1ab_0
xz conda-forge/linux-64::xz-5.2.5-h516909a_1
zlib conda-forge/linux-64::zlib-1.2.12-h166bdaf_0
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
# $ conda activate pymc4-5875
#
# To deactivate an active environment, use
#
# $ conda deactivate
$ conda activate pymc4-5875
$ conda install -y -c conda-forge pymc
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: done
==> WARNING: A newer version of conda exists. <==
current version: 4.11.0
latest version: 4.13.0
Please update conda by running
$ conda update -n base conda
## Package Plan ##
environment location: ~/micromamba/envs/pymc4-5875
added / updated specs:
- pymc
The following NEW packages will be INSTALLED:
aeppl conda-forge/noarch::aeppl-0.0.27-pyhd8ed1ab_0
aesara conda-forge/linux-64::aesara-2.5.1-py39h788985e_0
arviz conda-forge/noarch::arviz-0.12.1-pyhd8ed1ab_0
binutils conda-forge/linux-64::binutils-2.36.1-hdd6e379_2
binutils_impl_lin~ conda-forge/linux-64::binutils_impl_linux-64-2.36.1-h193b22a_2
binutils_linux-64 conda-forge/linux-64::binutils_linux-64-2.36-hf3e587d_10
brotli conda-forge/linux-64::brotli-1.0.9-h166bdaf_7
brotli-bin conda-forge/linux-64::brotli-bin-1.0.9-h166bdaf_7
c-ares conda-forge/linux-64::c-ares-1.18.1-h7f98852_0
c-compiler conda-forge/linux-64::c-compiler-1.4.2-h166bdaf_0
cachetools conda-forge/noarch::cachetools-5.0.0-pyhd8ed1ab_0
certifi conda-forge/linux-64::certifi-2022.5.18.1-py39hf3d152e_0
cftime conda-forge/linux-64::cftime-1.6.0-py39hd257fcd_1
cloudpickle conda-forge/noarch::cloudpickle-2.1.0-pyhd8ed1ab_0
cons conda-forge/noarch::cons-0.4.5-pyhd8ed1ab_0
curl conda-forge/linux-64::curl-7.83.1-h2283fc2_0
cxx-compiler conda-forge/linux-64::cxx-compiler-1.4.2-h924138e_0
cycler conda-forge/noarch::cycler-0.11.0-pyhd8ed1ab_0
etuples conda-forge/noarch::etuples-0.3.5-pyhd8ed1ab_0
fastprogress conda-forge/noarch::fastprogress-1.0.2-pyhd8ed1ab_0
filelock conda-forge/noarch::filelock-3.7.1-pyhd8ed1ab_0
fonttools conda-forge/linux-64::fonttools-4.33.3-py39hb9d737c_0
freetype conda-forge/linux-64::freetype-2.10.4-h0708190_1
gcc conda-forge/linux-64::gcc-10.3.0-he2824d0_10
gcc_impl_linux-64 conda-forge/linux-64::gcc_impl_linux-64-10.3.0-hf2f2afa_16
gcc_linux-64 conda-forge/linux-64::gcc_linux-64-10.3.0-hc39de41_10
giflib conda-forge/linux-64::giflib-5.2.1-h36c2ea0_2
gxx conda-forge/linux-64::gxx-10.3.0-he2824d0_10
gxx_impl_linux-64 conda-forge/linux-64::gxx_impl_linux-64-10.3.0-hf2f2afa_16
gxx_linux-64 conda-forge/linux-64::gxx_linux-64-10.3.0-h2593f52_10
hdf4 conda-forge/linux-64::hdf4-4.2.15-h10796ff_3
hdf5 conda-forge/linux-64::hdf5-1.12.1-nompi_h4df4325_104
importlib-metadata conda-forge/linux-64::importlib-metadata-4.11.4-py39hf3d152e_0
importlib_metadata conda-forge/noarch::importlib_metadata-4.11.4-hd8ed1ab_0
jpeg conda-forge/linux-64::jpeg-9e-h166bdaf_1
kernel-headers_li~ conda-forge/noarch::kernel-headers_linux-64-2.6.32-he073ed8_15
keyutils conda-forge/linux-64::keyutils-1.6.1-h166bdaf_0
kiwisolver conda-forge/linux-64::kiwisolver-1.4.2-py39hf939315_1
krb5 conda-forge/linux-64::krb5-1.19.3-h08a2579_0
lcms2 conda-forge/linux-64::lcms2-2.12-hddcbb42_0
lerc conda-forge/linux-64::lerc-3.0-h9c3ff4c_0
libblas conda-forge/linux-64::libblas-3.9.0-15_linux64_openblas
libbrotlicommon conda-forge/linux-64::libbrotlicommon-1.0.9-h166bdaf_7
libbrotlidec conda-forge/linux-64::libbrotlidec-1.0.9-h166bdaf_7
libbrotlienc conda-forge/linux-64::libbrotlienc-1.0.9-h166bdaf_7
libcblas conda-forge/linux-64::libcblas-3.9.0-15_linux64_openblas
libcurl conda-forge/linux-64::libcurl-7.83.1-h2283fc2_0
libdeflate conda-forge/linux-64::libdeflate-1.10-h7f98852_0
libedit conda-forge/linux-64::libedit-3.1.20191231-he28a2e2_2
libev conda-forge/linux-64::libev-4.33-h516909a_1
libgcc-devel_linu~ conda-forge/linux-64::libgcc-devel_linux-64-10.3.0-he6cfe16_16
libgfortran-ng conda-forge/linux-64::libgfortran-ng-12.1.0-h69a702a_16
libgfortran5 conda-forge/linux-64::libgfortran5-12.1.0-hdcd56e2_16
liblapack conda-forge/linux-64::liblapack-3.9.0-15_linux64_openblas
libnetcdf conda-forge/linux-64::libnetcdf-4.8.1-nompi_h329d8a1_102
libnghttp2 conda-forge/linux-64::libnghttp2-1.47.0-he49606f_0
libopenblas conda-forge/linux-64::libopenblas-0.3.20-pthreads_h78a6416_0
libpng conda-forge/linux-64::libpng-1.6.37-h21135ba_2
libsanitizer conda-forge/linux-64::libsanitizer-10.3.0-h26c7422_16
libssh2 conda-forge/linux-64::libssh2-1.10.0-ha35d2d1_2
libstdcxx-devel_l~ conda-forge/linux-64::libstdcxx-devel_linux-64-10.3.0-he6cfe16_16
libstdcxx-ng conda-forge/linux-64::libstdcxx-ng-12.1.0-ha89aaad_16
libtiff conda-forge/linux-64::libtiff-4.4.0-h0fcbabc_0
libwebp conda-forge/linux-64::libwebp-1.2.2-h3452ae3_0
libwebp-base conda-forge/linux-64::libwebp-base-1.2.2-h7f98852_1
libxcb conda-forge/linux-64::libxcb-1.13-h7f98852_1004
libzip conda-forge/linux-64::libzip-1.8.0-h1c5bbd1_1
logical-unificati~ conda-forge/noarch::logical-unification-0.4.5-pyhd8ed1ab_0
lz4-c conda-forge/linux-64::lz4-c-1.9.3-h9c3ff4c_1
matplotlib-base conda-forge/linux-64::matplotlib-base-3.5.2-py39h700656a_0
minikanren conda-forge/noarch::minikanren-1.0.3-pyhd8ed1ab_0
multipledispatch conda-forge/noarch::multipledispatch-0.6.0-py_0
munkres conda-forge/noarch::munkres-1.1.4-pyh9f0ad1d_0
netcdf4 conda-forge/linux-64::netcdf4-1.5.8-nompi_py39h64b754b_101
numpy conda-forge/linux-64::numpy-1.22.4-py39hc58783e_0
openjpeg conda-forge/linux-64::openjpeg-2.4.0-hb52868f_1
packaging conda-forge/noarch::packaging-21.3-pyhd8ed1ab_0
pandas conda-forge/linux-64::pandas-1.4.2-py39h1832856_2
pillow conda-forge/linux-64::pillow-9.1.1-py39hae2aec6_1
pthread-stubs conda-forge/linux-64::pthread-stubs-0.4-h36c2ea0_1001
pymc conda-forge/linux-64::pymc-4.0.0b6-py39ha563b64_0
pyparsing conda-forge/noarch::pyparsing-3.0.9-pyhd8ed1ab_0
python-dateutil conda-forge/noarch::python-dateutil-2.8.2-pyhd8ed1ab_0
pytz conda-forge/noarch::pytz-2022.1-pyhd8ed1ab_0
scipy conda-forge/linux-64::scipy-1.8.1-py39he49c0e8_0
semver conda-forge/noarch::semver-2.13.0-pyh9f0ad1d_0
six conda-forge/noarch::six-1.16.0-pyh6c4a22f_0
sysroot_linux-64 conda-forge/noarch::sysroot_linux-64-2.12-he073ed8_15
toolz conda-forge/noarch::toolz-0.11.2-pyhd8ed1ab_0
typing-extensions conda-forge/noarch::typing-extensions-3.10.0.2-hd8ed1ab_0
typing_extensions conda-forge/noarch::typing_extensions-3.10.0.2-pyha770c72_0
unicodedata2 conda-forge/linux-64::unicodedata2-14.0.0-py39hb9d737c_1
xarray conda-forge/noarch::xarray-2022.3.0-pyhd8ed1ab_0
xarray-einstats conda-forge/noarch::xarray-einstats-0.2.2-pyhd8ed1ab_0
xorg-libxau conda-forge/linux-64::xorg-libxau-1.0.9-h7f98852_0
xorg-libxdmcp conda-forge/linux-64::xorg-libxdmcp-1.1.3-h7f98852_0
zipp conda-forge/noarch::zipp-3.8.0-pyhd8ed1ab_0
zstd conda-forge/linux-64::zstd-1.5.2-h8a70e8d_1
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
Please provide any additional information below.
This was originally reported in https://github.com/conda-forge/pymc-feedstock/pull/41#issuecomment-1148135445 and https://github.com/conda-forge/pymc-feedstock/issues/43 but with slightly different conditions.
I have found two independent ways to resolve the issue:
- In the
conda installcommand, indicate the version with"pymc>=4". A few caveats here: neitherpymc=4norpymc=4.0.0exclude4.0.0b6. The quotation marks are mandatory to prevent Bash from interpreting the>character as an output redirection to a file named=4. - Use Mamba instead of Conda.
I wrote some additional thoughts on this issue in https://github.com/conda-forge/pymc-feedstock/issues/43#issuecomment-1150957693.
I wonder if the installation instructions should be updated to recommend either or both of:
"pymc>=4"- installing Mamba
I updated the wiki installation instructions for now.
Excellent! That should solve this issue (I hope).
While we're thinking about it, it might be clever to add a "Fancy Install" section to Linux and Windows.
Suggestion for the Windows instructions:
...for those who would prefer to manage the GCC compiler installation on their own...
→
...for those who would prefer to manage the BLAS and GCC compiler installations on their own...
And then removing mention of Chocolatey (and also numba?) we could copy "Fancy Install" to Linux/Mac.
We should probably mention in the case of M1 that we use OpenBLAS. (helpful link to the exact Conda package names)
Seeing this issue as well, downloading the beta release by default. And following the updated wiki instructions (>=4) I get the following error:
Encountered problems while solving:
- nothing provides vc 9.* needed by mkl-service-2.0.1-py27h0c8e037_0
ran it a second time and got something slightly different
Encountered problems while solving:
- nothing provides mkl >=2019.3,<2020.0a0 needed by mkl-service-2.0.1-py27h0c8e037_0
this was with mamba, not conda directly (Windows, AMD64)
interestingly this seems to be from using OpenBlas (nomkl)/mamba and using conda directly and allowing mkl looks like it downloads correctly.
Closing because the installation instructions seem to have taken care of the primary issue. Also potentially surpassed by https://github.com/pymc-devs/pymc/issues/6750.