conda-forge / gdstk-feedstock

A conda-smithy repository for gdstk.
BSD 3-Clause "New" or "Revised" License
4 stars 3 forks source link

UnsatisfiableError: The following specifications were found to be incompatible with the existing python installation in your environment #2

Closed daquintero closed 3 years ago

daquintero commented 3 years ago

Issue: After running this recipe: conda install gdstk, the following error prevents installation:

UnsatisfiableError: The following specifications were found
to be incompatible with the existing python installation in your environment:

In a MacOS Catalina 10.15.7.

Will attempt to install from source instead and update.


Full Error Trace

``` File attached: [error_trace_conda_install_gdstk.txt](https://github.com/conda-forge/gdstk-feedstock/files/5578099/error_trace_conda_install_gdstk.txt) ```


Environment (conda list):

``` % conda list !1237 # packages in environment at /Users/daquintero/opt/anaconda3: # # Name Version Build Channel _ipyw_jlab_nb_ext_conf 0.1.0 py38_0 alabaster 0.7.12 py_0 anaconda 2020.07 py38_0 anaconda-client 1.7.2 py38_0 anaconda-navigator 1.9.12 py38_0 anaconda-project 0.8.4 py_0 appdirs 1.4.4 pypi_0 pypi applaunchservices 0.2.1 py_0 appnope 0.1.0 py38_1001 appscript 1.1.1 py38haf1e3a3_0 apptools 4.5.0 pypi_0 pypi argh 0.26.2 py38_0 argparse 1.4.0 pypi_0 pypi asn1crypto 1.3.0 py38_1 astroid 2.4.2 py38_0 astropy 4.0.1.post1 py38h01d97ff_1 atomicwrites 1.4.0 py_0 attrs 19.3.0 py_0 autopep8 1.5.3 py_0 babel 2.8.0 py_0 backcall 0.2.0 py_0 backports 1.0 py_2 backports.functools_lru_cache 1.6.1 py_0 backports.shutil_get_terminal_size 1.0.0 py38_2 backports.tempfile 1.0 py_1 backports.weakref 1.0.post1 py_1 beautifulsoup4 4.9.1 py38_0 bitarray 1.4.0 py38haf1e3a3_0 bkcharts 0.2 py38_0 blas 1.0 mkl bleach 3.1.5 py_0 blosc 1.19.0 hab81aa3_0 bokeh 2.1.1 py38_0 boto 2.49.0 py38_0 bottleneck 1.3.2 py38hf1fa96c_1 brotlipy 0.7.0 py38haf1e3a3_1000 bzip2 1.0.8 h1de35cc_0 ca-certificates 2020.6.24 0 caniusepython3 7.2.0 pypi_0 pypi certifi 2020.6.20 py38_0 cffi 1.14.0 py38hc512035_1 chardet 3.0.4 py38_1003 click 7.1.2 py_0 cloudpickle 1.5.0 py_0 clyent 1.2.2 py38_1 colorama 0.4.3 py_0 conda 4.8.3 py38_0 conda-build 3.18.11 py38_0 conda-env 2.6.0 1 conda-package-handling 1.6.1 py38h1de35cc_0 conda-verify 3.4.2 py_1 configobj 5.0.6 pypi_0 pypi contextlib2 0.6.0.post1 py_0 coverage 5.3 pypi_0 pypi cryptography 2.9.2 py38ha12b0ac_0 curl 7.71.1 hb0a8c7a_1 cycler 0.10.0 py38_0 cython 0.29.21 py38hb1e8313_0 cytoolz 0.10.1 py38h1de35cc_0 dask 2.20.0 py_0 dask-core 2.20.0 py_0 dbus 1.13.16 h18a8e69_0 decorator 4.4.2 py_0 defusedxml 0.6.0 py_0 descartes 1.1.0 pypi_0 pypi diff-match-patch 20200713 py_0 distlib 0.3.1 pypi_0 pypi distributed 2.20.0 py38_0 docutils 0.16 py38_1 entrypoints 0.3 py38_0 envisage 4.9.2 pypi_0 pypi et_xmlfile 1.0.1 py_1001 expat 2.2.9 hb1e8313_2 fastcache 1.1.0 py38h1de35cc_0 filelock 3.0.12 py_0 flake8 3.8.3 py_0 flask 1.1.2 py_0 freetype 2.10.2 ha233b18_0 fsspec 0.7.4 py_0 future 0.18.2 py38_1 get_terminal_size 1.0.0 h7520d66_0 gettext 0.19.8.1 hb0f4f8b_2 gevent 20.6.2 py38haf1e3a3_0 glib 2.65.0 hc5f4afa_0 glob2 0.7 py_0 gmp 6.1.2 hb37e062_1 gmpy2 2.0.8 py38h6ef4df4_3 greenlet 0.4.16 py38haf1e3a3_0 h5py 2.10.0 py38h3134771_0 hdf5 1.10.4 hfa1e0ec_0 heapdict 1.0.1 py_0 html5lib 1.1 py_0 icu 58.2 h0a44026_3 idna 2.10 py_0 imageio 2.9.0 py_0 imagesize 1.2.0 py_0 importlib-metadata 1.7.0 py38_0 importlib_metadata 1.7.0 0 intel-openmp 2019.4 233 intervaltree 3.0.2 py_1 ipykernel 5.3.2 py38h5ca1d4c_0 ipython 7.16.1 py38h5ca1d4c_0 ipython_genutils 0.2.0 py38_0 ipywidgets 7.5.1 py_0 isort 4.3.21 py38_0 itsdangerous 1.1.0 py_0 jbig 2.1 h4d881f8_0 jdcal 1.4.1 py_0 jedi 0.17.1 py38_0 jinja2 2.11.2 py_0 joblib 0.16.0 py_0 jpeg 9b he5867d9_2 json5 0.9.5 py_0 jsonschema 3.2.0 py38_1 jupyter 1.0.0 py38_7 jupyter_client 6.1.6 py_0 jupyter_console 6.1.0 py_0 jupyter_core 4.6.3 py38_0 jupyterlab 2.1.5 py_0 jupyterlab_server 1.2.0 py_0 keyring 21.2.1 py38_0 kiwisolver 1.2.0 py38h04f5b5a_0 krb5 1.18.2 h75d18d8_0 lazy-object-proxy 1.4.3 py38h1de35cc_0 lcms2 2.11 h92f6f08_0 libarchive 3.4.2 haa3ed63_0 libcurl 7.71.1 h8a08a2b_1 libcxx 10.0.0 1 libedit 3.1.20191231 h1de35cc_1 libffi 3.3 hb1e8313_2 libgfortran 3.0.1 h93005f0_2 libiconv 1.16 h1de35cc_0 liblief 0.10.1 h0a44026_0 libllvm9 9.0.1 h21ff451_1 libpng 1.6.37 ha441bb4_0 libsodium 1.0.18 h1de35cc_0 libspatialindex 1.9.3 h0a44026_0 libssh2 1.9.0 ha12b0ac_1 libtiff 4.1.0 hcb84e12_1 libxml2 2.9.10 h3b9e6c8_1 libxslt 1.1.34 h83b36ba_0 llvm-openmp 10.0.0 h28b9765_0 llvmlite 0.33.0 py38ha11be7d_1 locket 0.2.0 py38_1 lxml 4.5.2 py38h63b7cb6_0 lz4-c 1.9.2 h0a44026_0 lzo 2.10 h1de35cc_2 markupsafe 1.1.1 py38h1de35cc_1 matplotlib 3.2.2 0 matplotlib-base 3.2.2 py38h5670ca0_0 mayavi 4.7.2 pypi_0 pypi mccabe 0.6.1 py38_1 mistune 0.8.4 py38h1de35cc_1001 mkl 2019.4 233 mkl-service 2.3.0 py38hfbe908c_0 mkl_fft 1.1.0 py38hc64f4ea_0 mkl_random 1.1.1 py38h959d312_0 mock 4.0.2 py_0 more-itertools 8.4.0 py_0 mpc 1.1.0 h6ef4df4_1 mpfr 4.0.2 h9066e36_1 mpmath 1.1.0 py38_0 msgpack-python 1.0.0 py38h04f5b5a_1 multipledispatch 0.6.0 py38_0 mypy 0.790 pypi_0 pypi mypy-extensions 0.4.3 pypi_0 pypi navigator-updater 0.2.1 py38_0 nbconvert 5.6.1 py38_1 nbformat 5.0.7 py_0 ncurses 6.2 h0a44026_1 networkx 2.4 py_1 nltk 3.5 py_0 nose 1.3.7 py38_1004 notebook 6.0.3 py38_0 numba 0.50.1 py38h959d312_1 numexpr 2.7.1 py38hce01a72_0 numpy 1.18.5 py38h1da2735_0 numpy-base 1.18.5 py38h3304bdc_0 numpydoc 1.1.0 py_0 olefile 0.46 py_0 openpyxl 3.0.4 py_0 openssl 1.1.1g h1de35cc_0 packaging 20.4 py_0 pandas 1.0.5 py38h959d312_0 pandoc 2.10 0 pandocfilters 1.4.2 py38_1 parso 0.7.0 py_0 partd 1.1.0 py_0 path 13.1.0 py38_0 path.py 12.4.0 0 pathlib2 2.3.5 py38_1 pathtools 0.1.2 py_1 patsy 0.5.1 py38_0 pcre 8.44 hb1e8313_0 pep8 1.7.1 py38_0 pexpect 4.8.0 py38_1 pickleshare 0.7.5 py38_1001 pillow 7.2.0 py38ha54b6ba_0 pip 20.1.1 py38_1 pkginfo 1.5.0.1 py38_0 pluggy 0.13.1 py38_0 ply 3.11 py38_0 prometheus_client 0.8.0 py_0 prompt-toolkit 3.0.5 py_0 prompt_toolkit 3.0.5 0 psutil 5.7.0 py38h1de35cc_0 ptyprocess 0.6.0 py38_0 py 1.9.0 py_0 py-lief 0.10.1 py38haf313ee_0 pycodestyle 2.6.0 py_0 pycosat 0.6.3 py38h1de35cc_1 pycparser 2.20 py_2 pycurl 7.43.0.5 py38ha12b0ac_0 pydocstyle 5.0.2 py_0 pyface 7.1.0 pypi_0 pypi pyflakes 2.2.0 py_0 pygments 2.6.1 py_0 pylint 2.5.3 py38_0 pyodbc 4.0.30 py38h0a44026_0 pyopenssl 19.1.0 py_1 pyparsing 2.4.7 py_0 pyqt 5.9.2 py38h655552a_2 pyrsistent 0.16.0 py38h1de35cc_0 pysocks 1.7.1 py38_1 pytables 3.6.1 py38h4727e94_0 pytest 5.4.3 py38_0 python 3.8.3 h26836e1_2 python-dateutil 2.8.1 py_0 python-jsonrpc-server 0.3.4 py_1 python-language-server 0.34.1 py38_0 python-libarchive-c 2.9 py_0 python.app 2 py38_10 pytz 2020.1 py_0 pywavelets 1.1.1 py38h1de35cc_0 pyyaml 5.3.1 py38haf1e3a3_1 pyzmq 19.0.1 py38hb1e8313_1 qdarkstyle 2.8.1 py_0 qt 5.9.7 h468cd18_1 qtawesome 0.7.2 py_0 qtconsole 4.7.5 py_0 qtpy 1.9.0 py_0 qutip 4.5.2 pypi_0 pypi readline 8.0 h1de35cc_0 regex 2020.6.8 py38haf1e3a3_0 requests 2.24.0 py_0 ripgrep 11.0.2 he32d670_0 rope 0.17.0 py_0 rtree 0.9.4 py38_1 ruamel_yaml 0.15.87 py38haf1e3a3_1 scikit-image 0.16.2 py38h6c726b0_0 scikit-learn 0.23.1 py38h603561c_0 scipy 1.5.0 py38hbab996c_0 seaborn 0.10.1 py_0 send2trash 1.5.0 py38_0 setuptools 49.2.0 py38_0 shapely 1.7.1 pypi_0 pypi simplegeneric 0.8.1 py38_2 singledispatch 3.4.0.3 py38_0 sip 4.19.8 py38h0a44026_0 six 1.15.0 py_0 snappy 1.1.8 hb1e8313_0 snowballstemmer 2.0.0 py_0 sortedcollections 1.2.1 py_0 sortedcontainers 2.2.2 py_0 soupsieve 2.0.1 py_0 sphinx 3.1.2 py_0 sphinxcontrib 1.0 py38_1 sphinxcontrib-applehelp 1.0.2 py_0 sphinxcontrib-devhelp 1.0.2 py_0 sphinxcontrib-htmlhelp 1.0.3 py_0 sphinxcontrib-jsmath 1.0.1 py_0 sphinxcontrib-qthelp 1.0.3 py_0 sphinxcontrib-serializinghtml 1.1.4 py_0 sphinxcontrib-websupport 1.2.3 py_0 spyder 4.1.4 py38_0 spyder-kernels 1.9.2 py38_0 sqlalchemy 1.3.18 py38haf1e3a3_0 sqlite 3.32.3 hffcf06c_0 statsmodels 0.11.1 py38haf1e3a3_0 sympy 1.6.1 py38_0 tbb 2020.0 h04f5b5a_0 tblib 1.6.0 py_0 terminado 0.8.3 py38_0 testpath 0.4.4 py_0 threadpoolctl 2.1.0 pyh5ca1d4c_0 tk 8.6.10 hb0a8c7a_0 toml 0.10.1 py_0 toolz 0.10.0 py_0 tornado 6.0.4 py38h1de35cc_1 tox 3.20.1 pypi_0 pypi tqdm 4.47.0 py_0 traitlets 4.3.3 py38_0 traits 6.1.1 pypi_0 pypi traitsui 7.1.0 pypi_0 pypi typed-ast 1.4.1 pypi_0 pypi typing_extensions 3.7.4.2 py_0 ujson 1.35 py38h1de35cc_0 unicodecsv 0.14.1 py38_0 unixodbc 2.3.7 h1de35cc_0 urllib3 1.25.9 py_0 virtualenv 20.1.0 pypi_0 pypi vtk 9.0.1 pypi_0 pypi watchdog 0.10.3 py38haf1e3a3_0 wcwidth 0.2.5 py_0 webencodings 0.5.1 py38_1 werkzeug 1.0.1 py_0 wheel 0.34.2 py38_0 widgetsnbextension 3.5.1 py38_0 wrapt 1.11.2 py38h1de35cc_0 wurlitzer 2.0.1 py38_0 xlrd 1.2.0 py_0 xlsxwriter 1.2.9 py_0 xlwings 0.19.5 py38_0 xlwt 1.3.0 py38_0 xmltodict 0.12.0 py_0 xz 5.2.5 h1de35cc_0 yaml 0.2.5 haf1e3a3_0 yapf 0.30.0 py_0 zeromq 4.3.2 hb1e8313_2 zict 2.0.0 py_0 zipp 3.1.0 py_0 zlib 1.2.11 h1de35cc_3 zope 1.0 py38_1 zope.event 4.4 py38_0 zope.interface 4.7.1 py38h1de35cc_0 zstd 1.4.5 h41d2c2f_0 ```


Details about conda and system ( conda info ):

``` % conda info !1238 active environment : base active env location : /Users/daquintero/opt/anaconda3 shell level : 1 user config file : /Users/daquintero/.condarc populated config files : /Users/daquintero/.condarc conda version : 4.8.3 conda-build version : 3.18.11 python version : 3.8.3.final.0 virtual packages : __osx=10.15.7 base environment : /Users/daquintero/opt/anaconda3 (writable) channel URLs : https://conda.anaconda.org/conda-forge/osx-64 https://conda.anaconda.org/conda-forge/noarch https://repo.anaconda.com/pkgs/main/osx-64 https://repo.anaconda.com/pkgs/main/noarch https://repo.anaconda.com/pkgs/r/osx-64 https://repo.anaconda.com/pkgs/r/noarch package cache : /Users/daquintero/opt/anaconda3/pkgs /Users/daquintero/.conda/pkgs envs directories : /Users/daquintero/opt/anaconda3/envs /Users/daquintero/.conda/envs platform : osx-64 user-agent : conda/4.8.3 requests/2.24.0 CPython/3.8.3 Darwin/19.6.0 OSX/10.15.7 UID:GID : 501:20 netrc file : None offline mode : False ```
wshanks commented 3 years ago

Hmm, I am not sure exactly what is going here. gdstk has a pretty minimal set of requirements -- python, lapack, and numpy and your environment has compatible python and numpy versions. My guess is that the problem is with lapack. Anaconda builds with Intel's Math Kernel Library instead of openblas. I will research if there is way to install gdstk with the Anaconda build of numpy.

In the mean time, I think gdstk should work for you if you install it into a new environment with just packages from conda-forge.

wshanks commented 3 years ago

After researching some more, I think the problem is with numpy rather than lapack. In my testing, conda install -c conda-forge gdstk wants to replace the defaults version of numpy with the conda-forge version and that change ripples out to a lot of the other packages in your environment. I have not determined if there is a good workaround for using gdstk in an environment based on defaults packages rather than conda-forge packages.

wshanks commented 3 years ago

I have asked other conda-forge users and the consensus seems to be that mixing packages that link against numpy from defaults and conda-forge doesn't work, so I don't think there is anything that can be done from this repo. If you want to stick to a defaults numpy, you could use conda-build to rebuild the gdstk conda package from the recipe in this repo in an environment with the defaults numpy.