Hello everyone,
I am having trouble getting diffpy-cmi up and running on a Mac. I was wondering whether what I am facing is a known issue.
In short: the official diffpy-cmi instructions lead me to a series of errors where necessary packages cannot be found in the conda environment I have set up. The packages with the problems are openblas, ipyparallel, and libtiff. I have solved the openblas and ipyparallel issues, but libtiff remains difficult.
If anyone has experience resolving the issues, please let me know! I have provided a detailed description of the issue below.
Many thanks,
Ian
In detail:
I followed the diffpy-cmi installation instructions on
diffpy.org. Once I have diffpy-cmi installed in a conda environment running python 3.7, I have tried several different tutorials, such as the
calcpdfc60 example from cmi_exchange and the notebook 02 from the
2019 tutorial.
I run into a series of errors. The first is that the openblas package seems to not be installed properly. I get this error:
(diffpy-cmi) ianbillinge@Ians-MacBook-Pro-10 calcpdfc60 % python c60.py
Traceback (most recent call last):
File "c60.py", line 5, in <module>
from diffpy.srreal.pdfcalculator import DebyePDFCalculator
File "/Users/ianbillinge/miniconda3/envs/diffpy-cmi/lib/python3.7/site-packages/diffpy/srreal/pdfcalculator.py", line 29, in <module>
from diffpy.srreal.srreal_ext import DebyePDFCalculator
ImportError: dlopen(/Users/ianbillinge/miniconda3/envs/diffpy-cmi/lib/python3.7/site-packages/diffpy/srreal/srreal_ext.cpython-37m-darwin.so, 0x0002): Library not loaded: @rpath/libopenblasp-r0.3.7.dylib
Referenced from: <1B31154A-78A1-3A93-89A0-AFFB34BD8A67> /Users/ianbillinge/miniconda3/envs/diffpy-cmi/lib/libdiffpy.dylib
Fortunately, I can resolve the error by entering
conda install openblas=0.3.7
into terminal. Interestingly, entering
conda install openblas
does not resolve this issue.
I run into a similar issue with the package ipyparallel, which is easily resolved by running
conda install ipyparallel
I then run into a similar issue with the libtiff package:
(diffpy-cmi) ianbillinge@Ians-MacBook-Pro-10 calcpdfc60 % python c60.py
Traceback (most recent call last):
File "c60.py", line 6, in <module>
from matplotlib.pyplot import plot, show
File "/Users/ianbillinge/miniconda3/envs/diffpy-cmi/lib/python3.7/site-packages/matplotlib/__init__.py", line 109, in <module>
from . import _api, _version, cbook, docstring, rcsetup
File "/Users/ianbillinge/miniconda3/envs/diffpy-cmi/lib/python3.7/site-packages/matplotlib/rcsetup.py", line 27, in <module>
from matplotlib.colors import Colormap, is_color_like
File "/Users/ianbillinge/miniconda3/envs/diffpy-cmi/lib/python3.7/site-packages/matplotlib/colors.py", line 51, in <module>
from PIL import Image
File "/Users/ianbillinge/miniconda3/envs/diffpy-cmi/lib/python3.7/site-packages/PIL/Image.py", line 103, in <module>
from . import _imaging as core
ImportError: dlopen(/Users/ianbillinge/miniconda3/envs/diffpy-cmi/lib/python3.7/site-packages/PIL/_imaging.cpython-37m-darwin.so, 0x0002): Library not loaded: @rpath/libtiff.5.dylib
Referenced from: <D41B0480-E719-39FB-BE0F-9BC1E65254C3> /Users/ianbillinge/miniconda3/envs/diffpy-cmi/lib/python3.7/site-packages/PIL/_imaging.cpython-37m-darwin.so
I have not been able to resolve this one.
Here is the information about my system:
operating system: MacOS 13.4.1 (c)
conda version: conda 23.1.0
packages in the environment:
# Name Version Build Channel
anyio 3.7.1 pyhd8ed1ab_0 conda-forge
appnope 0.1.3 pyhd8ed1ab_0 conda-forge
argon2-cffi 21.3.0 pyhd8ed1ab_0 conda-forge
argon2-cffi-bindings 21.2.0 py37h69ee0a8_2 conda-forge
attrs 23.1.0 pyh71513ae_1 conda-forge
backcall 0.2.0 pyh9f0ad1d_0 conda-forge
backports 1.1 pyhd3eb1b0_0
backports.functools_lru_cache 1.6.5 pyhd8ed1ab_0 conda-forge
beautifulsoup4 4.12.2 pyha770c72_0 conda-forge
bleach 6.0.0 pyhd8ed1ab_0 conda-forge
boost 1.67.0 py37_4
brotli 1.0.9 hb7f2c08_9 conda-forge
brotli-bin 1.0.9 hb7f2c08_9 conda-forge
bzip2 1.0.8 h0d85af4_4 conda-forge
ca-certificates 2023.7.22 h8857fd0_0 conda-forge
certifi 2023.7.22 pyhd8ed1ab_0 conda-forge
cffi 1.15.1 py37h7346b73_1 conda-forge
cycler 0.11.0 pyhd8ed1ab_0 conda-forge
dbus 1.13.18 h18a8e69_0
debugpy 1.6.3 py37hf6dfe07_0 conda-forge
decorator 5.1.1 pyhd8ed1ab_0 conda-forge
defusedxml 0.7.1 pyhd8ed1ab_0 conda-forge
diffpy-cmi 3.0.1 py37_0 diffpy
diffpy-srfit 3.0.0 pypi_0 pypi
diffpy-structure 3.0.1 pypi_0 pypi
diffpy-utils 3.0.0 pypi_0 pypi
diffpy.srfit 3.0.0 py37_0 diffpy
diffpy.srreal 1.3.0 py37h4867ba1_0 diffpy
diffpy.structure 3.0.1 py_0 diffpy
diffpy.utils 3.0.0 py_0 diffpy
entrypoints 0.4 pyhd8ed1ab_0 conda-forge
exceptiongroup 1.1.2 pyhd8ed1ab_0 conda-forge
expat 2.5.0 hf0c8a7f_1 conda-forge
flit-core 3.9.0 pyhd8ed1ab_0 conda-forge
fonttools 4.38.0 py37h8052db5_0 conda-forge
freetype 2.12.1 h3f81eb7_1 conda-forge
gettext 0.21.1 h8a4c099_0 conda-forge
giflib 5.2.1 hb7f2c08_3 conda-forge
glib 2.76.4 h7d26f99_0 conda-forge
glib-tools 2.76.4 h7d26f99_0 conda-forge
gsl 2.6 h71c5fe9_2 conda-forge
icu 58.2 h0a44026_1000 conda-forge
idna 3.4 pyhd8ed1ab_0 conda-forge
importlib-metadata 4.11.4 py37hf985489_0 conda-forge
importlib_resources 6.0.0 pyhd8ed1ab_0 conda-forge
ipykernel 6.16.2 pyh736e0ef_0 conda-forge
ipython 7.33.0 py37hf985489_0 conda-forge
ipython_genutils 0.2.0 py_1 conda-forge
ipywidgets 8.0.7 pyhd8ed1ab_0 conda-forge
jedi 0.18.2 pyhd8ed1ab_0 conda-forge
jinja2 3.1.2 pyhd8ed1ab_1 conda-forge
jpeg 9e hb7f2c08_3 conda-forge
jsonschema 4.17.3 pyhd8ed1ab_0 conda-forge
jupyter 1.0.0 py37hf985489_7 conda-forge
jupyter_client 7.4.9 pyhd8ed1ab_0 conda-forge
jupyter_console 6.5.1 pyhd8ed1ab_0 conda-forge
jupyter_core 4.11.2 py37hecd8cb5_0
jupyter_server 1.23.4 pyhd8ed1ab_0 conda-forge
jupyterlab_pygments 0.2.2 pyhd8ed1ab_0 conda-forge
jupyterlab_widgets 3.0.8 pyhd8ed1ab_0 conda-forge
kiwisolver 1.4.4 py37h229a17a_0 conda-forge
lcms2 2.15 h29502cd_0 conda-forge
lerc 4.0.0 hb486fe8_0 conda-forge
libblas 3.8.0 14_openblas conda-forge
libboost 1.67.0 hebc422b_4
libbrotlicommon 1.0.9 hb7f2c08_9 conda-forge
libbrotlidec 1.0.9 hb7f2c08_9 conda-forge
libbrotlienc 1.0.9 hb7f2c08_9 conda-forge
libcblas 3.8.0 14_openblas conda-forge
libcxx 16.0.6 hd57cbcb_0 conda-forge
libdeflate 1.17 hac1461d_0 conda-forge
libdiffpy 1.4.0 h855b5bd_2 conda-forge
libexpat 2.5.0 hf0c8a7f_1 conda-forge
libffi 3.4.4 hecd8cb5_0
libgfortran 4.0.0 7_5_0_h1a10cd1_23 conda-forge
libgfortran4 7.5.0 h1a10cd1_23 conda-forge
libglib 2.76.4 hc62aa5d_0 conda-forge
libiconv 1.17 hac89ed1_0 conda-forge
liblapack 3.8.0 14_openblas conda-forge
libobjcryst 2017.2.2 hd1581dd_0 diffpy
libopenblas 0.3.7 h3d69b6c_7 conda-forge
libpng 1.6.39 ha978bb4_0 conda-forge
libsodium 1.0.18 hbcb3906_1 conda-forge
libsqlite 3.42.0 h58db7d2_0 conda-forge
libtiff 4.5.0 hee9004a_2 conda-forge
libwebp 1.2.4 h70a068d_1 conda-forge
libwebp-base 1.2.4 h775f41a_0 conda-forge
libzlib 1.2.13 h8a1eda9_5 conda-forge
llvm-openmp 16.0.6 hff08bdf_0 conda-forge
lz4-c 1.9.4 hf0c8a7f_0 conda-forge
markupsafe 2.1.1 py37h69ee0a8_1 conda-forge
matplotlib 3.5.3 py37hf985489_2 conda-forge
matplotlib-base 3.5.3 py37h3748cd6_2 conda-forge
matplotlib-inline 0.1.6 pyhd8ed1ab_0 conda-forge
mistune 3.0.0 pyhd8ed1ab_0 conda-forge
munkres 1.1.4 pyh9f0ad1d_0 conda-forge
nbclassic 1.0.0 pyhb4ecaf3_1 conda-forge
nbclient 0.7.0 pyhd8ed1ab_0 conda-forge
nbconvert 7.6.0 pyhd8ed1ab_0 conda-forge
nbconvert-core 7.6.0 pyhd8ed1ab_0 conda-forge
nbconvert-pandoc 7.6.0 pyhd8ed1ab_0 conda-forge
nbformat 5.8.0 pyhd8ed1ab_0 conda-forge
ncurses 6.4 hf0c8a7f_0 conda-forge
nest-asyncio 1.5.6 pyhd8ed1ab_0 conda-forge
notebook 6.5.4 pyha770c72_0 conda-forge
notebook-shim 0.2.3 pyhd8ed1ab_0 conda-forge
numpy 1.21.6 py37h345d48f_0 conda-forge
openblas 0.3.7 h2f2564b_7 conda-forge
openssl 1.1.1u h8a1eda9_0 conda-forge
packaging 23.1 pyhd8ed1ab_0 conda-forge
pandoc 3.1.3 h9d075a6_0 conda-forge
pandocfilters 1.5.0 pyhd8ed1ab_0 conda-forge
parso 0.8.3 pyhd8ed1ab_0 conda-forge
pcre2 10.40 h1c4e4bc_0 conda-forge
periodictable 1.5.0 py37_0 diffpy
pexpect 4.8.0 pyh1a96a4e_2 conda-forge
pickleshare 0.7.5 py_1003 conda-forge
pillow 9.4.0 py37hcec6c5f_0
pip 23.2.1 pyhd8ed1ab_0 conda-forge
pkgutil-resolve-name 1.3.10 pyhd8ed1ab_0 conda-forge
prometheus_client 0.17.1 pyhd8ed1ab_0 conda-forge
prompt-toolkit 3.0.39 pyha770c72_0 conda-forge
prompt_toolkit 3.0.39 hd8ed1ab_0 conda-forge
psutil 5.9.3 py37h8052db5_0 conda-forge
ptyprocess 0.7.0 pyhd3deb0d_0 conda-forge
py-boost 1.67.0 py37h6440ff4_4
pycifrw 4.4.3 py37h994c40b_1 conda-forge
pycparser 2.21 pyhd8ed1ab_0 conda-forge
pygments 2.15.1 pyhd8ed1ab_0 conda-forge
pyobjcryst 2.1.0 py37hc1f77ba_0 diffpy
pyparsing 3.1.0 pyhd8ed1ab_0 conda-forge
pyqt 5.9.2 py37h2a560b1_4 conda-forge
pyrsistent 0.18.1 py37h69ee0a8_1 conda-forge
python 3.7.16 h218abb5_0
python-dateutil 2.8.2 pyhd8ed1ab_0 conda-forge
python-fastjsonschema 2.18.0 pyhd8ed1ab_0 conda-forge
python_abi 3.7 2_cp37m conda-forge
pyzmq 24.0.1 py37haa7bc41_0 conda-forge
qt 5.9.7 h93ee506_2 conda-forge
qtconsole 5.4.3 pyhd8ed1ab_0 conda-forge
qtconsole-base 5.4.3 pyha770c72_0 conda-forge
qtpy 2.3.1 pyhd8ed1ab_0 conda-forge
readline 8.2 h9e318b2_1 conda-forge
scipy 1.5.3 py37h04d6967_0 conda-forge
send2trash 1.8.0 pyhd8ed1ab_0 conda-forge
setuptools 68.0.0 pyhd8ed1ab_0 conda-forge
sip 4.19.8 py37h0a44026_1000 conda-forge
six 1.16.0 pyh6c4a22f_0 conda-forge
sniffio 1.3.0 pyhd8ed1ab_0 conda-forge
soupsieve 2.3.2.post1 pyhd8ed1ab_0 conda-forge
sqlite 3.42.0 h2b0dec6_0 conda-forge
terminado 0.17.1 pyhd1c38e8_0 conda-forge
tinycss2 1.2.1 pyhd8ed1ab_0 conda-forge
tk 8.6.12 h5dbffcc_0 conda-forge
tornado 6.2 py37h994c40b_0 conda-forge
traitlets 5.9.0 pyhd8ed1ab_0 conda-forge
typing-extensions 4.7.1 hd8ed1ab_0 conda-forge
typing_extensions 4.7.1 pyha770c72_0 conda-forge
unicodedata2 15.0.0 py37h6c40b1e_0
wcwidth 0.2.6 pyhd8ed1ab_0 conda-forge
webencodings 0.5.1 py_1 conda-forge
websocket-client 1.6.1 pyhd8ed1ab_0 conda-forge
wheel 0.41.0 pyhd8ed1ab_0 conda-forge
widgetsnbextension 4.0.8 pyhd8ed1ab_0 conda-forge
xz 5.4.2 h6c40b1e_0
zeromq 4.3.4 he49afe7_1 conda-forge
zipp 3.15.0 pyhd8ed1ab_0 conda-forge
zlib 1.2.13 h8a1eda9_5 conda-forge
zstd 1.5.5 hc035e20_0
-- Ian Billinge
he/him/his
Ph.D Student, Yip Lab
Dept. of Earth & Environmental Engineering
Fu Foundation School of Engineering
Columbia University in the City of New York