cortex-lab / phy

phy: interactive visualization and manual spike sorting of large-scale ephys data
BSD 3-Clause "New" or "Revised" License
304 stars 155 forks source link

ModuleNotFoundError: No module named 'imp' #1268

Closed miguelconcham closed 3 weeks ago

miguelconcham commented 2 months ago

Hi,

I started getting this error message when trying to run Phy. I understand now that this seems to be a Python version problem (even though I don't remember updating Python so far). Any clue where the problem is coming from?

Thanks for your help!

Miguel

zm711 commented 2 months ago

Yeah there is no limit set in the environment.yml. So it will install latest python unless you specify 3.11 or below. So if installing with the yml just edit the line that says

python

to

python=3.11
mtehrani-code commented 2 months ago

@zm711 I'm having the same issue now when trying to load phy2 GUI:

ModuleNotFoundError: No module named 'imp'

I'm working with python v3.9...would phy2 not work with this version?

zm711 commented 2 months ago

@mtehrani-code could you type conda list and post that here.

mtehrani-code commented 2 months ago

Sure. From within the si environment this is what I get:

Name Version Build Channel

aiohttp 3.9.5 pypi_0 pypi aiosignal 1.3.1 pypi_0 pypi altair 5.3.0 pypi_0 pypi anyio 4.2.0 py39haa95532_0 argon2-cffi 21.3.0 pyhd3eb1b0_0 argon2-cffi-bindings 21.2.0 py39h2bbff1b_0 asciitree 0.3.3 pypi_0 pypi asttokens 2.0.5 pyhd3eb1b0_0 async-lru 2.0.4 py39haa95532_0 async-timeout 4.0.3 pypi_0 pypi attrs 23.1.0 py39haa95532_0 babel 2.11.0 py39haa95532_0 backcall 0.2.0 pyhd3eb1b0_0 beautifulsoup4 4.12.2 py39haa95532_0 blas 1.0 mkl bleach 4.1.0 pyhd3eb1b0_0 brotli-python 1.0.9 py39hd77b12b_7 ca-certificates 2024.3.11 haa95532_0 cbor2 5.6.3 pypi_0 pypi certifi 2024.2.2 py39haa95532_0 cffi 1.16.0 py39h2bbff1b_0 charset-normalizer 2.0.4 pyhd3eb1b0_0 click 8.1.7 pypi_0 pypi cloudpickle 3.0.0 pypi_0 pypi colorama 0.4.6 py39haa95532_0 comm 0.2.1 py39haa95532_0 contourpy 1.2.1 pypi_0 pypi cryptography 42.0.5 pypi_0 pypi cuda-cccl 12.4.127 0 nvidia cuda-cudart 11.8.89 0 nvidia cuda-cudart-dev 11.8.89 0 nvidia cuda-cupti 11.8.87 0 nvidia cuda-libraries 11.8.0 0 nvidia cuda-libraries-dev 11.8.0 0 nvidia cuda-nvrtc 11.8.89 0 nvidia cuda-nvrtc-dev 11.8.89 0 nvidia cuda-nvtx 11.8.86 0 nvidia cuda-profiler-api 12.4.127 0 nvidia cuda-python 12.4.0 pypi_0 pypi cuda-runtime 11.8.0 0 nvidia cycler 0.12.1 pypi_0 pypi dask 2024.4.1 pypi_0 pypi debugpy 1.6.7 py39hd77b12b_0 decorator 5.1.1 pyhd3eb1b0_0 defusedxml 0.7.1 pyhd3eb1b0_0 distinctipy 1.3.4 pypi_0 pypi distributed 2024.4.1 pypi_0 pypi exceptiongroup 1.2.0 py39haa95532_0 executing 0.8.3 pyhd3eb1b0_0 faiss-cpu 1.8.0 pypi_0 pypi fasteners 0.19 pypi_0 pypi figurl 0.2.22 pypi_0 pypi filelock 3.13.4 pypi_0 pypi fonttools 4.51.0 pypi_0 pypi frozenlist 1.4.1 pypi_0 pypi fsspec 2024.3.1 pypi_0 pypi gmpy2 2.1.2 py39h7f96b67_0 h5py 3.11.0 pypi_0 pypi hdmf 3.13.0 pypi_0 pypi icu 73.1 h6c2663c_0 idna 3.4 py39haa95532_0 importlib-metadata 7.0.1 py39haa95532_0 importlib-resources 6.4.0 pypi_0 pypi importlib_metadata 7.0.1 hd3eb1b0_0 intel-openmp 2023.1.0 h59b6b97_46320 ipykernel 6.28.0 py39haa95532_0 ipympl 0.9.4 pypi_0 pypi ipython 8.15.0 py39haa95532_0 ipython-genutils 0.2.0 pypi_0 pypi ipywidgets 8.1.2 py39haa95532_0 jedi 0.18.1 py39haa95532_1 jinja2 3.1.3 py39haa95532_0 joblib 1.4.0 pypi_0 pypi jpeg 9e h2bbff1b_1 json5 0.9.6 pyhd3eb1b0_0 jsonschema 4.19.2 py39haa95532_0 jsonschema-specifications 2023.7.1 py39haa95532_0 jupyter 1.0.0 py39haa95532_9 jupyter-lsp 2.2.0 py39haa95532_0 jupyter_client 8.6.0 py39haa95532_0 jupyter_console 6.6.3 py39haa95532_0 jupyter_core 5.5.0 py39haa95532_0 jupyter_events 0.8.0 py39haa95532_0 jupyter_server 2.10.0 py39haa95532_0 jupyter_server_terminals 0.4.4 py39haa95532_1 jupyterlab 4.0.11 py39haa95532_0 jupyterlab_pygments 0.1.2 py_0 jupyterlab_server 2.25.1 py39haa95532_0 jupyterlab_widgets 3.0.10 py39haa95532_0 kachery-cloud 0.4.8 pypi_0 pypi kilosort 4.0.4 pypi_0 pypi kiwisolver 1.4.5 pypi_0 pypi krb5 1.20.1 h5b6d351_0 libclang 14.0.6 default_hb5a9fac_1 libclang13 14.0.6 default_h8e68704_1 libcublas 11.11.3.6 0 nvidia libcublas-dev 11.11.3.6 0 nvidia libcufft 10.9.0.58 0 nvidia libcufft-dev 10.9.0.58 0 nvidia libcurand 10.3.5.147 0 nvidia libcurand-dev 10.3.5.147 0 nvidia libcusolver 11.4.1.48 0 nvidia libcusolver-dev 11.4.1.48 0 nvidia libcusparse 11.7.5.86 0 nvidia libcusparse-dev 11.7.5.86 0 nvidia libnpp 11.8.0.86 0 nvidia libnpp-dev 11.8.0.86 0 nvidia libnvjpeg 11.9.0.86 0 nvidia libnvjpeg-dev 11.9.0.86 0 nvidia libpng 1.6.39 h8cc25b3_0 libpq 12.17 h906ac69_0 libsodium 1.0.18 h62dcd97_0 libuv 1.44.2 h2bbff1b_0 llvmlite 0.42.0 pypi_0 pypi locket 1.0.0 pypi_0 pypi lz4-c 1.9.4 h2bbff1b_0 markupsafe 2.1.3 py39h2bbff1b_0 matplotlib 3.8.4 pypi_0 pypi matplotlib-inline 0.1.6 py39haa95532_0 mistune 2.0.4 py39haa95532_0 mkl 2023.1.0 h6b88ed4_46358 mpc 1.1.0 h7edee0f_1 mpfr 4.0.2 h62dcd97_1 mpir 3.0.0 hec2e145_1 mpmath 1.3.0 py39haa95532_0 msgpack 1.0.8 pypi_0 pypi multidict 6.0.5 pypi_0 pypi nbclient 0.8.0 py39haa95532_0 nbconvert 7.10.0 py39haa95532_0 nbformat 5.9.2 py39haa95532_0 neo 0.13.0 pypi_0 pypi nest-asyncio 1.6.0 py39haa95532_0 networkx 3.2.1 pypi_0 pypi notebook 7.0.8 py39haa95532_0 notebook-shim 0.2.3 py39haa95532_0 numba 0.59.1 pypi_0 pypi numcodecs 0.12.1 pypi_0 pypi numpy 1.26.4 pypi_0 pypi openssl 3.0.13 h2bbff1b_0 overrides 7.4.0 py39haa95532_0 packaging 23.2 py39haa95532_0 pandas 2.2.2 pypi_0 pypi pandocfilters 1.5.0 pyhd3eb1b0_0 parso 0.8.3 pyhd3eb1b0_0 partd 1.4.1 pypi_0 pypi pickleshare 0.7.5 pyhd3eb1b0_1003 pillow 10.3.0 pypi_0 pypi pip 23.3.1 py39haa95532_0 platformdirs 3.10.0 py39haa95532_0 ply 3.11 py39haa95532_0 probeinterface 0.2.21 pypi_0 pypi prometheus_client 0.14.1 py39haa95532_0 prompt-toolkit 3.0.43 py39haa95532_0 prompt_toolkit 3.0.43 hd3eb1b0_0 psutil 5.9.0 py39h2bbff1b_0 pubnub 7.4.4 pypi_0 pypi pure_eval 0.2.2 pyhd3eb1b0_0 pycparser 2.21 pyhd3eb1b0_0 pycryptodomex 3.20.0 pypi_0 pypi pygments 2.15.1 py39haa95532_1 pynwb 2.6.0 pypi_0 pypi pyparsing 3.1.2 pypi_0 pypi pyqt 5.15.10 py39hd77b12b_0 pyqt5-sip 12.13.0 py39h2bbff1b_0 pyqt6 6.6.1 pypi_0 pypi pyqt6-qt6 6.6.3 pypi_0 pypi pyqt6-sip 13.6.0 pypi_0 pypi pyqtgraph 0.13.4 pypi_0 pypi pyside6 6.7.0 pypi_0 pypi pyside6-addons 6.7.0 pypi_0 pypi pyside6-essentials 6.7.0 pypi_0 pypi pysocks 1.7.1 py39haa95532_0 python 3.9.19 h1aa4202_0 python-dateutil 2.8.2 pyhd3eb1b0_0 python-fastjsonschema 2.16.2 py39haa95532_0 python-json-logger 2.0.7 py39haa95532_0 pytorch 2.2.2 py3.9_cuda11.8_cudnn8_0 pytorch pytorch-cuda 11.8 h24eeafa_5 pytorch pytorch-mutex 1.0 cuda pytorch pytz 2023.3.post1 py39haa95532_0 pywin32 305 py39h2bbff1b_0 pywinpty 2.0.10 py39h5da7b33_0 pyyaml 6.0.1 py39h2bbff1b_0 pyzmq 25.1.2 py39hd77b12b_0 qt-main 5.15.2 h19c9488_10 qtconsole 5.5.1 py39haa95532_0 qtpy 2.4.1 py39haa95532_0 quantities 0.15.0 pypi_0 pypi referencing 0.30.2 py39haa95532_0 requests 2.31.0 py39haa95532_1 rfc3339-validator 0.1.4 py39haa95532_0 rfc3986-validator 0.1.1 py39haa95532_0 rpds-py 0.10.6 py39h062c2fa_0 ruamel-yaml 0.18.6 pypi_0 pypi ruamel-yaml-clib 0.2.8 pypi_0 pypi scikit-learn 1.4.2 pypi_0 pypi scipy 1.12.0 pypi_0 pypi send2trash 1.8.2 py39haa95532_0 setuptools 68.2.2 py39haa95532_0 shiboken6 6.7.0 pypi_0 pypi simplejson 3.19.2 pypi_0 pypi sip 6.7.12 py39hd77b12b_0 six 1.16.0 pyhd3eb1b0_1 sniffio 1.3.0 py39haa95532_0 sortedcontainers 2.4.0 pypi_0 pypi sortingview 0.13.2 pypi_0 pypi soupsieve 2.5 py39haa95532_0 spikeinterface 0.101.0 pypi_0 pypi spikeinterface-gui 0.8.0 pypi_0 pypi sqlite 3.41.2 h2bbff1b_0 stack_data 0.2.0 pyhd3eb1b0_0 sympy 1.12 py39haa95532_0 tbb 2021.8.0 h59b6b97_0 tblib 3.0.0 pypi_0 pypi terminado 0.17.1 py39haa95532_0 threadpoolctl 3.4.0 pypi_0 pypi tinycss2 1.2.1 py39haa95532_0 tomli 2.0.1 py39haa95532_0 toolz 0.12.1 pypi_0 pypi tornado 6.3.3 py39h2bbff1b_0 tqdm 4.66.2 pypi_0 pypi traitlets 5.7.1 py39haa95532_0 typing-extensions 4.9.0 py39haa95532_1 typing_extensions 4.9.0 py39haa95532_1 tzdata 2024.1 pypi_0 pypi urllib3 2.1.0 py39haa95532_1 vc 14.2 h21ff451_1 vs2015_runtime 14.27.29016 h5e58377_2 wcwidth 0.2.5 pyhd3eb1b0_0 webencodings 0.5.1 py39haa95532_1 websocket-client 0.58.0 py39haa95532_4 wheel 0.41.2 py39haa95532_0 widgetsnbextension 4.0.10 py39haa95532_0 win_inet_pton 1.1.0 py39haa95532_0 winpty 0.4.3 4 xarray 2024.3.0 pypi_0 pypi xz 5.4.6 h8cc25b3_0 yaml 0.2.5 he774522_0 yarl 1.9.4 pypi_0 pypi zarr 2.17.2 pypi_0 pypi zeromq 4.3.5 hd77b12b_0 zict 3.0.0 pypi_0 pypi zipp 3.17.0 py39haa95532_0 zlib 1.2.13 h8cc25b3_0 zstd 1.5.5 hd43e919_0

zm711 commented 2 months ago

@mtehrani-code I would need it from your Phy environment. If you look at this list you don't have phy installed in this environment.

You would need to do

conda activate phy2
conda list

So we can see in there. Phy usually goes into its own private environment.

mtehrani-code commented 2 months ago

Of course! Here it is:

abseil-cpp 20211102.0 hd77b12b_0 arrow-cpp 14.0.2 ha81ea56_1 asttokens 2.0.5 pyhd3eb1b0_0 aws-c-auth 0.6.19 h2bbff1b_0 aws-c-cal 0.5.20 h2bbff1b_0 aws-c-common 0.8.5 h2bbff1b_0 aws-c-compression 0.2.16 h2bbff1b_0 aws-c-event-stream 0.2.15 hd77b12b_0 aws-c-http 0.6.25 h2bbff1b_0 aws-c-io 0.13.10 h2bbff1b_0 aws-c-mqtt 0.7.13 h2bbff1b_0 aws-c-s3 0.1.51 h2bbff1b_0 aws-c-sdkutils 0.1.6 h2bbff1b_0 aws-checksums 0.1.13 h2bbff1b_0 aws-crt-cpp 0.18.16 hd77b12b_0 aws-sdk-cpp 1.10.55 hd77b12b_0 blas 1.0 mkl bokeh 3.4.0 py312hfc267ef_1 boost-cpp 1.82.0 h59b6b97_2 bottleneck 1.3.7 py312he558020_0 brotli 1.0.9 h2bbff1b_7 brotli-bin 1.0.9 h2bbff1b_7 brotli-python 1.0.9 py312hd77b12b_7 bzip2 1.0.8 h2bbff1b_5 c-ares 1.19.1 h2bbff1b_0 ca-certificates 2024.3.11 haa95532_0 certifi 2024.2.2 py312haa95532_0 charset-normalizer 2.0.4 pyhd3eb1b0_0 click 8.1.7 py312haa95532_0 cloudpickle 2.2.1 py312haa95532_0 colorama 0.4.6 py312haa95532_0 colorcet 3.1.0 pypi_0 pypi comm 0.2.1 py312haa95532_0 contourpy 1.2.0 py312h59b6b97_0 cycler 0.11.0 pyhd3eb1b0_0 cython 3.0.10 py312h2bbff1b_0 cytoolz 0.12.2 py312h2bbff1b_0 dask 2023.11.0 py312haa95532_0 dask-core 2023.11.0 py312haa95532_0 debugpy 1.6.7 py312hd77b12b_0 decorator 5.1.1 pyhd3eb1b0_0 distributed 2023.11.0 py312haa95532_0 executing 0.8.3 pyhd3eb1b0_0 expat 2.6.2 hd77b12b_0 fonttools 4.51.0 py312h2bbff1b_0 freetype 2.12.1 ha860e81_0 fsspec 2023.10.0 py312haa95532_0 gflags 2.2.2 hd77b12b_1 ghp-import 2.1.0 pypi_0 pypi glog 0.5.0 hd77b12b_1 grpc-cpp 1.48.2 hfe90ff0_1 h5py 3.9.0 py312h59a1360_0 hdf5 1.12.1 h51c971a_3 heapdict 1.0.1 pyhd3eb1b0_0 icc_rt 2022.1.0 h6049295_2 icu 73.1 h6c2663c_0 idna 3.7 py312haa95532_0 importlib-metadata 7.0.1 py312haa95532_0 iniconfig 1.1.1 pyhd3eb1b0_0 intel-openmp 2023.1.0 h59b6b97_46320 ipykernel 6.28.0 py312haa95532_0 ipython 8.20.0 py312haa95532_0 jedi 0.18.1 py312haa95532_1 jinja2 3.1.3 py312haa95532_0 joblib 1.4.0 py312haa95532_0 jpeg 9e h2bbff1b_1 jupyter_client 8.6.0 py312haa95532_0 jupyter_core 5.5.0 py312haa95532_0 kiwisolver 1.4.4 py312hd77b12b_0 krb5 1.20.1 h5b6d351_0 lcms2 2.12 h83e58a3_0 lerc 3.0 hd77b12b_0 libboost 1.82.0 h3399ecb_2 libbrotlicommon 1.0.9 h2bbff1b_7 libbrotlidec 1.0.9 h2bbff1b_7 libbrotlienc 1.0.9 h2bbff1b_7 libclang 14.0.6 default_hb5a9fac_1 libclang13 14.0.6 default_h8e68704_1 libcurl 8.5.0 h86230a5_0 libdeflate 1.17 h2bbff1b_1 libevent 2.1.12 h56d1f94_1 libffi 3.4.4 hd77b12b_0 libpng 1.6.39 h8cc25b3_0 libpq 12.17 h906ac69_0 libprotobuf 3.20.3 h23ce68f_0 libsodium 1.0.18 h62dcd97_0 libssh2 1.10.0 he2ea4bf_2 libthrift 0.15.0 h4364b78_2 libtiff 4.5.1 hd77b12b_0 libwebp-base 1.3.2 h2bbff1b_0 locket 1.0.0 py312haa95532_0 lz4 4.3.2 py312h2bbff1b_0 lz4-c 1.9.4 h2bbff1b_0 markdown 3.6 pypi_0 pypi markupsafe 2.1.3 py312h2bbff1b_0 matplotlib 3.8.4 py312haa95532_0 matplotlib-base 3.8.4 py312hc7c4135_0 matplotlib-inline 0.1.6 py312haa95532_0 mergedeep 1.3.4 pypi_0 pypi mkdocs 1.6.0 pypi_0 pypi mkdocs-get-deps 0.2.0 pypi_0 pypi mkl 2023.1.0 h6b88ed4_46358 mkl-service 2.4.0 py312h2bbff1b_1 mkl_fft 1.3.8 py312h2bbff1b_0 mkl_random 1.2.4 py312h59b6b97_0 msgpack-python 1.0.3 py312h59b6b97_0 mtscomp 1.0.2 pypi_0 pypi nest-asyncio 1.6.0 py312haa95532_0 numexpr 2.8.7 py312h96b7d27_0 numpy 1.26.4 py312hfd52020_0 numpy-base 1.26.4 py312h4dde369_0 openjpeg 2.4.0 h4fc8c34_0 openssl 3.0.13 h2bbff1b_0 orc 1.7.4 h623e30f_1 packaging 23.2 py312haa95532_0 pandas 2.2.1 py312h0158946_0 parso 0.8.3 pyhd3eb1b0_0 partd 1.4.1 py312haa95532_0 pathspec 0.12.1 pypi_0 pypi phy 2.0b5 pypi_0 pypi phylib 2.4.3 pypi_0 pypi pillow 10.3.0 py312h2bbff1b_0 pip 23.3.1 py312haa95532_0 platformdirs 3.10.0 py312haa95532_0 pluggy 1.0.0 py312haa95532_1 ply 3.11 py312haa95532_1 prompt-toolkit 3.0.43 py312haa95532_0 prompt_toolkit 3.0.43 hd3eb1b0_0 psutil 5.9.0 py312h2bbff1b_0 pure_eval 0.2.2 pyhd3eb1b0_0 pyarrow 14.0.2 py312had8a6e9_0 pybind11-abi 5 hd3eb1b0_0 pygments 2.15.1 py312haa95532_1 pyopengl 3.1.1a1 py312haa95532_0 pyparsing 3.0.9 py312haa95532_0 pyqt 5.15.10 py312hd77b12b_0 pyqt5-sip 12.13.0 py312h2bbff1b_0 pyqtwebengine 5.15.10 py312hd77b12b_0 pysocks 1.7.1 py312haa95532_0 pytest 7.4.0 py312haa95532_0 python 3.12.3 h1d929f7_0 python-dateutil 2.8.2 pyhd3eb1b0_0 python-lmdb 1.4.1 py312hd77b12b_0 python-tzdata 2023.3 pyhd3eb1b0_0 pytz 2024.1 py312haa95532_0 pywin32 305 py312h2bbff1b_0 pyyaml 6.0.1 py312h2bbff1b_0 pyyaml-env-tag 0.1 pypi_0 pypi pyzmq 25.1.2 py312hd77b12b_0 qt-main 5.15.2 h19c9488_10 qt-webengine 5.15.9 h5bd16bc_7 qtconsole 5.5.1 py312haa95532_0 qtpy 2.4.1 py312haa95532_0 re2 2022.04.01 hd77b12b_0 requests 2.31.0 py312haa95532_1 responses 0.25.0 py312haa95532_0 scikit-learn 1.4.2 py312hc7c4135_1 scipy 1.13.0 py312hbb039d4_0 setuptools 68.2.2 py312haa95532_0 sip 6.7.12 py312hd77b12b_0 six 1.16.0 pyhd3eb1b0_1 snappy 1.1.10 h6c2663c_1 sortedcontainers 2.4.0 pyhd3eb1b0_0 sqlite 3.41.2 h2bbff1b_0 stack_data 0.2.0 pyhd3eb1b0_0 tbb 2021.8.0 h59b6b97_0 tblib 1.7.0 pyhd3eb1b0_0 threadpoolctl 2.2.0 pyh0d69192_0 tk 8.6.12 h2bbff1b_0 toolz 0.12.0 py312haa95532_0 tornado 6.3.3 py312h2bbff1b_0 tqdm 4.66.2 pypi_0 pypi traitlets 5.7.1 py312haa95532_0 tzdata 2024a h04d1e81_0 unicodedata2 15.1.0 py312h2bbff1b_0 urllib3 2.1.0 py312haa95532_1 utf8proc 2.6.1 h2bbff1b_1 vc 14.2 h21ff451_1 vs2015_runtime 14.27.29016 h5e58377_2 watchdog 4.0.0 pypi_0 pypi wcwidth 0.2.5 pyhd3eb1b0_0 wheel 0.41.2 py312haa95532_0 win_inet_pton 1.1.0 py312haa95532_0 xyzservices 2022.9.0 py312haa95532_1 xz 5.4.6 h8cc25b3_0 yaml 0.2.5 he774522_0 zeromq 4.3.5 hd77b12b_0 zict 3.0.0 py312haa95532_0 zipp 3.17.0 py312haa95532_0 zlib 1.2.13 h8cc25b3_0 zstd 1.5.5 hd43e919_0

zm711 commented 2 months ago

@mtehrani-code

The problem is this line

python 3.12.3 h1d929f7_0

You've installed python 3.12 into the Phy environment. and Phy is only compatible with python < 3.12.

You need to use the environment.yaml then you need to open it and edit the python line and switch it to:

python=3.11

before you make the environment.

mtehrani-code commented 2 months ago

@zm711 This is the first step listed for installing phy:

Create a new conda environment with the conda dependencies:

conda create -n phy2 -y cython dask h5py joblib matplotlib numpy pillow pip pyopengl pyqt pyqtwebengine pytest python qtconsole requests responses scikit-learn scipy traitlets

If I need to change python 3.12 to 3.11 in the environment.yaml file before creating the environment, then where is this file coming from? (sorry, if I'm missing something obvious)

...I couldn't locate an environment.yaml file. So I did some googling and tried this instead:

(phy2) C:\Users\matta>conda env export > environment.yml

Then I typed: (phy2) C:\Users\matta>environment.yml

Then opened this file in notepad, and changed python 3.12 to 3.11 and saved.

Then typed:

(phy2) C:\Users\matta>conda env update --file environment.yml --prune

And got this message:

Channels:

PackagesNotFoundError: The following packages are not available from current channels:

Current channels:

Sorry a bit lost here.

zm711 commented 2 months ago

Yeah @mtehrani-code, unfortunately this repo isn't quite as actively maintained any more. I just hop on to help people with installation instructions. Basically the instructions you followed are wrong now for a couple reasons (python 3.12 being one problem and the requirements.txt being another).

name: phy2
channels:
  - conda-forge
  - defaults
dependencies:
  - python=3.11
  - pip
  - git
  - numpy
  - matplotlib
  - scipy
  - h5py
  - pyqt
  - pyopengl
  - pyqtwebengine
  - pytest
  - qtconsole
  - requests
  - responses
  - traitlets
  - dask
  - cython
  - pillow
  - scikit-learn
  - joblib
  - pip:
    - git+https://github.com/cortex-lab/phy.git

You can just copy these packages into a text editor and then save it as a yml file. Then what we should do it cleanup the broken install. I'm just going to give you the more extreme option since you are bit newer to this.

first we will do

conda remove -n phy2 --all

then we will install with our environment.yaml

conda env create -f environment.yaml

Now for this to work you'll need to be in the correct folder so if you save it in documents you need to first go to documents

cd documents
conda env create -f enviroment.yaml

The other pitfall is that you could accidentally give it the yml instead of yaml suffix so if the above command fails and you're in the right folder do

conda env create -f environment.yml
victornovakov commented 1 month ago

Thank you @zm711. This was very helpful.

mtehrani-code commented 1 month ago

@zm711 Hi Zach!

I'm picking the Phy installation back up and still having issues with it.

I did downgrade to python 3.9 and that seems to take care of the 'imp not found' error.

However, now when I type in phy template-gui params.py I get this error message:

ImportError: DLL load failed while importing _imaging: The specified module could not be found.

Could you please advise?

Here is the full message:

(phy2) C:\Users\matta\Documents\Kilosort-2.5>phy template-gui params.py Traceback (most recent call last): File "C:\Users\matta\anaconda3\envs\phy2\lib\runpy.py", line 197, in _run_module_as_main return _run_code(code, main_globals, None, File "C:\Users\matta\anaconda3\envs\phy2\lib\runpy.py", line 87, in _run_code exec(code, run_globals) File "C:\Users\matta\anaconda3\envs\phy2\Scripts\phy.exe__main.py", line 4, in File "C:\Users\matta\anaconda3\envs\phy2\lib\site-packages\phy\init.py", line 21, in from .utils.config import load_master_config File "C:\Users\matta\anaconda3\envs\phy2\lib\site-packages\phy\utils\init.py", line 11, in from .color import( File "C:\Users\matta\anaconda3\envs\phy2\lib\site-packages\phy\utils\color.py", line 17, in from matplotlib.colors import hsv_to_rgb, rgb_to_hsv File "C:\Users\matta\anaconda3\envs\phy2\lib\site-packages\matplotlib\init__.py", line 161, in from . import _api, _version, cbook, _docstring, rcsetup File "C:\Users\matta\anaconda3\envs\phy2\lib\site-packages\matplotlib\rcsetup.py", line 27, in from matplotlib.colors import Colormap, is_color_like File "C:\Users\matta\anaconda3\envs\phy2\lib\site-packages\matplotlib\colors.py", line 52, in from PIL import Image File "C:\Users\matta\anaconda3\envs\phy2\lib\site-packages\PIL\Image.py", line 88, in from . import _imaging as core ImportError: DLL load failed while importing _imaging: The specified module could not be found.

zm711 commented 1 month ago

Hey Mahtab,

A bunch of us are at a hackathon this week for spikeinterface. If you don't figure this out could you re-ping me Monday and I'll take a look then!

zm711 commented 3 weeks ago

Howdy @mtehrani-code,

Did this ever work?

mtehrani-code commented 3 weeks ago

Hi Zach!

Yes, I got help from someone who is experienced with this. In addition to downgrading python, apparently I also needed to install a number of modules in specific versions. I'm putting them here for anyone else who might run into the same issue. This seemed to take care of the 'imp' error...

conda install aws-c-common=0.9.18 \ aws-crt-cpp=0.26.8 \ ca-certificates=2024.2.2 \ certifi=2024.2.2 \ cython=3.0.10 \ debugpy=1.8.1 \ fonttools=4.51.0 \ h5py=3.11.0 \ hdf5=1.14.3 \ intel-openmp=2024.1.0 \ ipython=8.12.0 \ jupyter_core=5.7.2 \ libarrow=16.1.0 \ libclang13=18.1.5 \ libparquet=16.1.0 \ matplotlib=3.8.4 \ mkl=2024.1.0 \ numpy=1.26.4 \ pandas=2.2.2 \ pillow=10.3.0 \ pyarrow=16.1.0 \ pyqt=5.15.9 \ qt-main=5.15.8 \ scikit-learn=1.5.0 \ scipy=1.13.1 \ tornado=6.4

zm711 commented 3 weeks ago

Cool @mtehrani-code. I fixed the imp issue here, but great that it is working!