Closed nickjourjine closed 3 years ago
Hi Nick,
thanks for raising the issue - I had encountered this problem before but thought it was solved. Packaging the GUI reliably with DAS has always been a hassle.
I created a fresh DAS env again - I get the warning but it still works on my mac (I think you are also on a mac, correct?). Can you post the output of conda list
? I'd like to know which version of pyside2 gets installed for you (I get v5.13.2)
We also have an experimental conda package. Maybe that one solves the issue for you. You can create a fresh environment containing the conda package with this command:
conda create -n das_conda -y
conda activate das_conda
conda install das -c ncb -c conda-forge -y
Hi Jan,
Thanks for the quick response. The full output of conda list
is below at the end of the post. The version of pyside2 that gets installed for me is v5.13.2. Yes, I'm also on a mac - sorry for not specifying, I'm still using Mojave 10.14.6 in case that could be the problem.
I created the fresh conda environment using:
conda create -n das_conda -y
conda activate das_conda
conda install das -c ncb -c conda-forge -y
That all works without errors, but here's what I get when I run das gui
from the new das_conda
environment:
(das_conda) [09:11:13] ~ nick_jourjine $ das gui
Could not import the GUI.
For instructions on how to install the GUI,
check the docs janclemenslab.org/das/install.html.
The version of pyside2 installed with the new das_conda environment is also v5.13.2
And here's the full output of conda list
from my original das environment that first gave the error when trying to run das gui
:
# packages in environment at /Applications/anaconda3/envs/das:
#
# Name Version Build Channel
abseil-cpp 20210324.2 h23ab428_0
absl-py 0.13.0 py38hecd8cb5_0
aiohttp 3.7.4.post0 py38h9ed2024_2
appdirs 1.4.4 pyhd3eb1b0_0
appnope 0.1.2 py38hecd8cb5_1001
asciitree 0.3.3 py_2
astunparse 1.6.3 py_0
async-timeout 3.0.1 py38hecd8cb5_0
attrs 21.2.0 pyhd3eb1b0_0
audioread 2.1.9 py38h50d1736_0 conda-forge
backcall 0.2.0 pyhd3eb1b0_0
blas 1.0 mkl
blinker 1.4 py38hecd8cb5_0
blosc 1.21.0 h2842e9f_0
bottleneck 1.3.2 py38hf1fa96c_1
brotli 1.0.9 hb1e8313_2
brotlipy 0.7.0 py38h9ed2024_1003
brunsli 0.1 h23ab428_0
bzip2 1.0.8 h1de35cc_0
c-ares 1.18.1 h0d85af4_0 conda-forge
ca-certificates 2021.10.8 h033912b_0 conda-forge
cachetools 4.2.2 pyhd3eb1b0_0
certifi 2021.10.8 py38h50d1736_0 conda-forge
cffi 1.14.6 py38h2125817_0
cfitsio 3.470 hee0f690_6
chardet 4.0.0 py38hecd8cb5_1003
charls 2.2.0 h23ab428_0
charset-normalizer 2.0.4 pyhd3eb1b0_0
click 8.0.3 pyhd3eb1b0_0
cloudpickle 2.0.0 pyhd3eb1b0_0
colorama 0.4.4 pyhd3eb1b0_0
colorcet 2.0.6 pyhd3eb1b0_0
cryptography 3.4.8 py38h2fd3fbb_0
curl 7.78.0 h7bc2e8c_0
cycler 0.10.0 py38_0
cytoolz 0.11.0 py38haf1e3a3_0
das 0.22.4 pypi_0 pypi
dask-core 2021.9.1 pyhd3eb1b0_0
dataclasses 0.8 pyh6d0b6a4_7
decorator 5.1.0 pyhd3eb1b0_0
defopt 6.1.0 py38h50d1736_0 conda-forge
docutils 0.17.1 py38hecd8cb5_1
expat 2.4.1 h23ab428_2
fasteners 0.16.3 pyhd3eb1b0_0
ffmpeg 4.2.2 h97e5cf8_0
flammkuchen 0.9.2 py_0 conda-forge
fonttools 4.25.0 pyhd3eb1b0_0
freetype 2.11.0 hd8bbffd_0
fsspec 2021.8.1 pyhd3eb1b0_0
future 0.18.2 py38_1
gast 0.3.3 py_0
gettext 0.21.0 h7535e17_0
giflib 5.2.1 haf1e3a3_0
git 2.32.0 pl5262h6cd52fe_1
gmp 6.2.1 h23ab428_2
gnutls 3.6.15 hed9c0bf_0
google-auth 1.33.0 pyhd3eb1b0_0
google-auth-oauthlib 0.4.4 pyhd3eb1b0_0
google-pasta 0.2.0 pyhd3eb1b0_0
grpc-cpp 1.37.1 h69eed7d_3 conda-forge
grpcio 1.37.1 py38ha263829_0 conda-forge
h5py 2.10.0 py38h0601b69_1
hdf5 1.10.6 hdbbcd12_0
icu 68.1 h23ab428_0
idna 3.2 pyhd3eb1b0_0
imagecodecs 2021.8.26 py38ha952a84_0
imageio 2.9.0 pyhd3eb1b0_0
importlib-metadata 4.8.1 py38hecd8cb5_0
intel-openmp 2021.3.0 hecd8cb5_3375
ipython 7.27.0 py38h01d92e1_0
jedi 0.18.0 py38hecd8cb5_1
joblib 1.1.0 pyhd3eb1b0_0
jpeg 9d h9ed2024_0
jxrlib 1.1 haf1e3a3_2
keras-preprocessing 1.1.2 pyhd3eb1b0_0
keras-tuner 1.0.3 pyhd8ed1ab_0 conda-forge
kiwisolver 1.3.1 py38h23ab428_0
krb5 1.19.2 hcd88c3b_0
kt-legacy 1.0.4 pypi_0 pypi
lame 3.100 h1de35cc_0
lcms2 2.12 hf1fd2bf_0
lerc 3.0 he9d5cce_0
libaec 1.0.4 hb1e8313_1
libclang 11.1.0 default_he082bbe_1 conda-forge
libcurl 7.78.0 hb8e4fae_0
libcxx 12.0.0 h2f01273_0
libdeflate 1.8 h9ed2024_5
libedit 3.1.20210714 h9ed2024_0
libev 4.33 h9ed2024_1
libffi 3.3 hb1e8313_2
libflac 1.3.3 h046ec9c_1 conda-forge
libgfortran 3.0.1 h93005f0_2
libiconv 1.16 h1de35cc_0
libidn2 2.3.2 h9ed2024_0
libllvm10 10.0.1 h76017ad_5
libllvm11 11.1.0 h9b2ccf5_0
libnghttp2 1.41.0 h7580e61_2
libogg 1.3.5 h9ed2024_1
libopus 1.3.1 h1de35cc_0
libpng 1.6.37 ha441bb4_0
libpq 13.3 hea3049e_0 conda-forge
libprotobuf 3.15.8 hcf210ce_1 conda-forge
librosa 0.8.1 pyhd8ed1ab_0 conda-forge
libsndfile 1.0.31 he49afe7_1 conda-forge
libssh2 1.9.0 ha12b0ac_1
libtasn1 4.16.0 h9ed2024_0
libtiff 4.2.0 h87d7836_0
libunistring 0.9.10 h9ed2024_0
libvorbis 1.3.7 haf1e3a3_0
libvpx 1.7.0 h378b8a2_0
libwebp 1.2.0 hacca55c_0
libwebp-base 1.2.0 h9ed2024_0
libxml2 2.9.12 h93ec3fd_0 conda-forge
libxslt 1.1.33 h5739fc3_2 conda-forge
libzopfli 1.0.3 hb1e8313_0
llvm-openmp 12.0.0 h0dcd299_1
llvmlite 0.36.0 py38he4411ff_4
locket 0.2.1 py38hecd8cb5_1
lz4-c 1.9.3 h23ab428_1
markdown 3.3.4 py38hecd8cb5_0
matplotlib 3.4.3 py38hecd8cb5_0
matplotlib-base 3.4.3 py38h0a11d32_0
matplotlib-inline 0.1.2 pyhd3eb1b0_2
matplotlib-scalebar 0.7.2 pyh44b312d_0 conda-forge
mkl 2021.3.0 hecd8cb5_517
mkl-service 2.4.0 py38h9ed2024_0
mkl_fft 1.3.1 py38h4ab4a9b_0
mkl_random 1.2.2 py38hb2f4e1b_0
mock 4.0.3 pyhd3eb1b0_0
msgpack-python 1.0.2 py38hf7b0b51_1
multidict 5.1.0 py38h9ed2024_2
munkres 1.1.4 py_0
mysql-common 8.0.25 h694c41f_0 conda-forge
mysql-libs 8.0.25 h54f5a68_0 conda-forge
ncurses 6.2 h0a44026_1
nettle 3.7.3 h230ac6f_1
networkx 2.6.3 pyhd3eb1b0_0
nspr 4.32 hcd9eead_0 conda-forge
nss 3.69 h31e2bf1_1 conda-forge
numba 0.53.0 py38hb2f4e1b_0
numcodecs 0.8.0 py38h23ab428_0
numexpr 2.7.3 py38h5873af2_1
numpy 1.21.2 py38h4b4dc7a_0
numpy-base 1.21.2 py38he0bd621_0
oauthlib 3.1.1 pyhd3eb1b0_0
olefile 0.46 pyhd3eb1b0_0
opencv-python-headless 4.5.3.56 py38_0 ncb
openh264 2.1.0 hd9629dc_0
openjpeg 2.4.0 h66ea3da_0
openssl 1.1.1l h0d85af4_0 conda-forge
opt_einsum 3.3.0 pyhd3eb1b0_1
packaging 21.0 pyhd3eb1b0_0
pandas 1.3.3 py38h5008ddb_0
param 1.11.1 pyhd3eb1b0_0
parso 0.8.2 pyhd3eb1b0_0
partd 1.2.0 pyhd3eb1b0_0
pcre2 10.35 h1de35cc_1
peakutils 1.3.3 py_0 conda-forge
perl 5.26.2 h4e221da_0
pexpect 4.8.0 pyhd3eb1b0_3
pickleshare 0.7.5 pyhd3eb1b0_1003
pillow 8.4.0 py38h98e4679_0
pip 21.2.4 py38hecd8cb5_0
pockets 0.9.1 py_0 conda-forge
pooch 1.4.0 pyhd3eb1b0_0
portaudio 19.6.0 h647c56a_4
prompt-toolkit 3.0.20 pyhd3eb1b0_0
protobuf 3.15.8 py38ha048514_0 conda-forge
ptyprocess 0.7.0 pyhd3eb1b0_2
pyasn1 0.4.8 pyhd3eb1b0_0
pyasn1-modules 0.2.8 py_0
pycparser 2.20 py_2
pyct 0.4.8 py38_0
pygments 2.10.0 pyhd3eb1b0_0
pyjwt 2.1.0 py38hecd8cb5_0
pyopenssl 21.0.0 pyhd3eb1b0_1
pyparsing 2.4.7 pyhd3eb1b0_0
pyqtgraph 0.12.3 pyhd8ed1ab_0 conda-forge
pyside2 5.13.2 py38hc6340e1_4 conda-forge
pysocks 1.7.1 py38_1
pysoundfile 0.9.0.post1 pypi_0 pypi
pytables 3.6.1 py38hfb086ad_3 conda-forge
python 3.8.12 h88f2d9e_0
python-dateutil 2.8.2 pyhd3eb1b0_0
python-flatbuffers 1.12 pyhd3eb1b0_0
python-sounddevice 0.4.1 pyh9f0ad1d_0 conda-forge
python_abi 3.8 2_cp38 conda-forge
pytz 2021.3 pyhd3eb1b0_0
pyvideoreader 0.5.3 py38_0 ncb
pywavelets 1.1.1 py38haf1e3a3_2
pyyaml 5.4.1 py38h9ed2024_1
qt 5.12.9 h126340a_4 conda-forge
re2 2021.08.01 he49afe7_0 conda-forge
readline 8.1 h9ed2024_0
requests 2.26.0 pyhd3eb1b0_0
requests-oauthlib 1.3.0 py_0
resampy 0.2.2 py_0 conda-forge
rsa 4.7.2 pyhd3eb1b0_1
samplestamps 0.4.4 py38h7772d1b_0 ncb
scikit-image 0.18.1 py38hb2f4e1b_0
scikit-learn 1.0.1 py38hae1ba45_0
scipy 1.7.1 py38h88652d9_2
setuptools 58.0.4 py38hecd8cb5_0
six 1.15.0 py38hecd8cb5_0
snappy 1.1.8 hb1e8313_0
sphinxcontrib-napoleon 0.7 py_0 conda-forge
sqlite 3.36.0 hce871da_0
tabulate 0.8.9 py38hecd8cb5_0
tensorboard 2.4.0 pyhc547734_0
tensorboard-plugin-wit 1.6.0 py_0
tensorflow 2.4.3 py38h50d1736_0 conda-forge
tensorflow-base 2.4.3 py38h8860697_0 conda-forge
tensorflow-estimator 2.4.1 pyheb71bc4_0
termcolor 1.1.0 py38hecd8cb5_1
terminaltables 3.1.0 py_0 conda-forge
threadpoolctl 2.2.0 pyh0d69192_0
tifffile 2021.7.2 pyhd3eb1b0_2
tk 8.6.11 h7bc2e8c_0
toolz 0.11.1 pyhd3eb1b0_0
tornado 6.1 py38h9ed2024_0
tqdm 4.62.3 pyhd3eb1b0_1
traitlets 5.1.0 pyhd3eb1b0_0
typing-extensions 3.7.4.3 hd3eb1b0_0
typing_extensions 3.7.4.3 pyh06a4308_0
urllib3 1.26.7 pyhd3eb1b0_0
wcwidth 0.2.5 pyhd3eb1b0_0
werkzeug 2.0.1 pyhd3eb1b0_0
wheel 0.37.0 pyhd3eb1b0_1
wrapt 1.12.1 py38haf1e3a3_1
x264 1!157.20191217 h1de35cc_0
xarray 0.19.0 pyhd3eb1b0_1
xarray-behave 0.27.5 py38_0 ncb
xz 5.2.5 h1de35cc_0
yaml 0.2.5 haf1e3a3_0
yarl 1.6.3 py38h9ed2024_0
zarr 2.10.1 pyhd8ed1ab_0 conda-forge
zfp 0.5.5 h23ab428_6
zipp 3.6.0 pyhd3eb1b0_0
zlib 1.2.11 h1de35cc_3
zstd 1.4.9 h322a384_0
Not sure what the issue is. Could you import pyside2 and then pyqtgraph and post the resulting error message? Like so:
import PySide2
import pyqtgraph
Running
import PySide2
import pyqtgraph
completes without errors for me. It just returns the same warning I see when I try to run das gui
, ie
/Applications/anaconda3/envs/das/lib/python3.8/site-packages/pyqtgraph/debug.py:21: UserWarning: Due to PYSIDE-1140, ThreadChase and ThreadColor won't work
warnings.warn("Due to PYSIDE-1140, ThreadChase and ThreadColor won't work")
Thanks! Then of these should produce an error:
import xarray_behave.gui.app
import xarray_behave as xb
Could you please send the output? Thanks! Sorry this is so complicated...
Indeed!
import xarray_behave as xb
runs without errors, but
import xarray_behave.gui.app
produces the following warning (same as above) and error:
/Applications/anaconda3/envs/das/lib/python3.8/site-packages/pyqtgraph/debug.py:21: UserWarning: Due to PYSIDE-1140, ThreadChase and ThreadColor won't work
warnings.warn("Due to PYSIDE-1140, ThreadChase and ThreadColor won't work")
ImportError Traceback (most recent call last)
/var/folders/qm/nflfvqhx1m95rq8v5c7k8p4r0000gn/T/ipykernel_3300/1880977348.py in <module>
----> 1 import xarray_behave.gui.app
/Applications/anaconda3/envs/das/lib/python3.8/site-packages/xarray_behave/gui/app.py in <module>
42 event_utils)
43
---> 44 from . import (colormaps,
45 utils,
46 views,
/Applications/anaconda3/envs/das/lib/python3.8/site-packages/xarray_behave/gui/utils.py in <module>
1 from typing import Iterable
----> 2 import cv2
3 import numpy as np
4 import h5py
5 import colorcet
/Applications/anaconda3/envs/das/lib/python3.8/site-packages/cv2/__init__.py in <module>
3 import sys
4
----> 5 from .cv2 import *
6 from .data import *
7
ImportError: dlopen(/Applications/anaconda3/envs/das/lib/python3.8/site-packages/cv2/cv2.cpython-38-darwin.so, 2): Symbol not found: _objc_opt_respondsToSelector
Referenced from: /Applications/anaconda3/envs/das/lib/python3.8/site-packages/cv2/cv2.cpython-38-darwin.so (which was built for Mac OS X 10.15)
Expected in: /usr/lib/libobjc.A.dylib
in /Applications/anaconda3/envs/das/lib/python3.8/site-packages/cv2/cv2.cpython-38-darwin.so
And no problem at all - thank you for being so responsive!
Thanks - so opencv is the issue.
This part of the error message indicates that the installed built of opencv does not work with macOS 10.14:
Referenced from: /Applications/anaconda3/envs/das/lib/python3.8/site-packages/cv2/cv2.cpython-38-darwin.so (which was built for Mac OS X 10.15)
.
Not sure what to do about this. Maybe try to install opencv using pip. This may mess up other packages though, so maybe first try with no dependencies: pip install opencv-python-headless --no-deps --force-reinstall --upgrade
. If that doesn't help, then install with deps: pip install opencv-python-headless --upgrade --force-reinstall
.
Trying to install opencv using pip didn't work (got the error Could not build wheels for opencv-python-headless which use PEP 517 and cannot be installed directly
). So I updated my operating system to Monterey (v12.01.1), and now I can run the gui without any issue.
Thanks so much for your help figuring this out!
Glad you got it running eventually!
Hello,
I recently installed das following the instructions here: https://janclemenslab.org/das/installation.html (ie, pasting
conda env create ncb/das-env -n das
into the terminal app and running it from my base environment).The installation proceeds without errors, but when I then activate the environment with
conda activate das
and run the commanddas gui
to open the GUI I get the following:Running other commands gives the same warning, although they appear to work (see example below for the output of
das version
)Things I have tried that did not fix the problem:
conda env remove --name das
and reinstallingconda install -c conda-forge pyside2
conda install pyqtgraph==0.12.1
Running
das version
gives:Note that under the current version of DAS it says "GUI is not available". Any help fixing this would be greatly appreciated - apologies if I'm missing an obvious solution!