AllenInstitute / AllenSDK

code for reading and processing Allen Institute for Brain Science data
https://allensdk.readthedocs.io/en/latest/
Other
344 stars 149 forks source link

pip install allensdk fails in new Conda environment #2687

Closed Jballbe closed 1 year ago

Jballbe commented 1 year ago

Describe the bug Hi, I am trying to install allensdk in a new Conda environment, however, when I run pip install allensdk, I get an Error message saying it could not install numpy (which is already installed in the environment)

To Reproduce I created a new Conda environment through AnacondaNavigator, and installed Python 3.8.16 I ran the following

pip install numpy
Requirement already satisfied: numpy in ./anaconda3/envs/NewTest/lib/python3.8/site-packages (1.24.3)
Note: you may need to restart the kernel to use updated packages.

Actual Behavior Here's the Error message I get when I try to install allensdk

pip install allensdk
Collecting allensdk
  Using cached allensdk-2.15.1-py3-none-any.whl (4.0 MB)
Collecting psycopg2-binary (from allensdk)
  Using cached psycopg2_binary-2.9.6-cp38-cp38-macosx_11_0_arm64.whl (2.0 MB)
Collecting hdmf<=3.4.7 (from allensdk)
  Using cached hdmf-3.4.7-py3-none-any.whl (187 kB)
Requirement already satisfied: h5py in ./anaconda3/envs/NewTest/lib/python3.8/site-packages (from allensdk) (3.8.0)
Collecting matplotlib<3.4.3,>=1.4.3 (from allensdk)
  Using cached matplotlib-3.4.2.tar.gz (37.3 MB)
  Preparing metadata (setup.py) ... [?25ldone
irement already satisfied: numpy in ./anaconda3/envs/NewTest/lib/python3.8/site-packages (from allensdk) (1.24.3)
Requirement already satisfied: pandas>=1.1.5 in ./anaconda3/envs/NewTest/lib/python3.8/site-packages (from allensdk) (2.0.2)
Requirement already satisfied: jinja2>=3.0.0 in ./anaconda3/envs/NewTest/lib/python3.8/site-packages (from allensdk) (3.1.2)
Requirement already satisfied: scipy<2.0.0,>=1.4.0 in ./anaconda3/envs/NewTest/lib/python3.8/site-packages (from allensdk) (1.10.1)
Requirement already satisfied: six<2.0.0,>=1.9.0 in ./anaconda3/envs/NewTest/lib/python3.8/site-packages (from allensdk) (1.16.0)
Collecting pynrrd<1.0.0,>=0.2.1 (from allensdk)
  Using cached pynrrd-0.4.3-py2.py3-none-any.whl (18 kB)
Collecting future<1.0.0,>=0.14.3 (from allensdk)
  Using cached future-0.18.3.tar.gz (840 kB)
  Preparing metadata (setup.py) ... [?25ldone
irement already satisfied: requests<3.0.0 in ./anaconda3/envs/NewTest/lib/python3.8/site-packages (from allensdk) (2.31.0)
Collecting requests-toolbelt<1.0.0 (from allensdk)
  Using cached requests_toolbelt-0.10.1-py2.py3-none-any.whl (54 kB)
Collecting simplejson<4.0.0,>=3.10.0 (from allensdk)
  Using cached simplejson-3.19.1-cp38-cp38-macosx_11_0_arm64.whl (74 kB)
Collecting scikit-image>=0.14.0 (from allensdk)
  Using cached scikit_image-0.21.0-cp38-cp38-macosx_12_0_arm64.whl (12.3 MB)
Collecting scikit-build<1.0.0 (from allensdk)
  Using cached scikit_build-0.17.6-py3-none-any.whl (84 kB)
Collecting statsmodels<=0.13.0 (from allensdk)
  Using cached statsmodels-0.13.0.tar.gz (17.8 MB)
  Installing build dependencies ... [?25lerror
  error: subprocess-exited-with-error

  × pip subprocess to install build dependencies did not run successfully.
  │ exit code: 1
  ╰─> [3368 lines of output]
      Ignoring numpy: markers 'python_version == "3.7"' don't match your environment
      Ignoring numpy: markers 'python_version == "3.9"' don't match your environment
      Ignoring numpy: markers 'python_version > "3.9"' don't match your environment
      Collecting setuptools
        Using cached setuptools-67.8.0-py3-none-any.whl (1.1 MB)
      Collecting wheel
        Using cached wheel-0.40.0-py3-none-any.whl (64 kB)
      Collecting cython>=0.29.22
        Using cached Cython-0.29.35-py2.py3-none-any.whl (988 kB)
      Collecting numpy==1.17.4
        Using cached numpy-1.17.4.zip (6.4 MB)
        Preparing metadata (setup.py): started
        Preparing metadata (setup.py): finished with status 'done'
      Collecting scipy>=1.3
        Using cached scipy-1.10.1-cp38-cp38-macosx_12_0_arm64.whl (28.8 MB)
      INFO: pip is looking at multiple versions of scipy to determine which version is compatible with other requirements. This could take a while.
        Using cached scipy-1.10.0-cp38-cp38-macosx_12_0_arm64.whl (28.8 MB)
        Using cached scipy-1.9.3-cp38-cp38-macosx_12_0_arm64.whl (28.5 MB)
        Using cached scipy-1.9.2-cp38-cp38-macosx_12_0_arm64.whl (28.5 MB)
        Using cached scipy-1.9.1-cp38-cp38-macosx_12_0_arm64.whl (29.8 MB)
        Using cached scipy-1.9.0-cp38-cp38-macosx_12_0_arm64.whl (29.8 MB)
        Using cached scipy-1.8.1-cp38-cp38-macosx_12_0_arm64.whl (28.6 MB)
      Building wheels for collected packages: numpy
        Building wheel for numpy (setup.py): started
        Building wheel for numpy (setup.py): finished with status 'error'
        error: subprocess-exited-with-error

        × python setup.py bdist_wheel did not run successfully.
        │ exit code: 1
        ╰─> [3312 lines of output]
            Running from numpy source directory.
            blas_opt_info:
            blas_mkl_info:
            customize UnixCCompiler
              libraries mkl_rt not found in ['/Users/julienballbe/anaconda3/envs/NewTest/lib', '/usr/lib']
              NOT AVAILABLE

            blis_info:
            customize UnixCCompiler
              libraries blis not found in ['/Users/julienballbe/anaconda3/envs/NewTest/lib', '/usr/lib']
              NOT AVAILABLE

            openblas_info:
            customize UnixCCompiler
            customize UnixCCompiler
              libraries openblas not found in ['/Users/julienballbe/anaconda3/envs/NewTest/lib', '/usr/lib']
              NOT AVAILABLE

            atlas_3_10_blas_threads_info:
            Setting PTATLAS=ATLAS
            customize UnixCCompiler
              libraries tatlas not found in ['/Users/julienballbe/anaconda3/envs/NewTest/lib', '/usr/lib']
              NOT AVAILABLE

            atlas_3_10_blas_info:
            customize UnixCCompiler
              libraries satlas not found in ['/Users/julienballbe/anaconda3/envs/NewTest/lib', '/usr/lib']
              NOT AVAILABLE

            atlas_blas_threads_info:
            Setting PTATLAS=ATLAS
            customize UnixCCompiler
              libraries ptf77blas,ptcblas,atlas not found in ['/Users/julienballbe/anaconda3/envs/NewTest/lib', '/usr/lib']
              NOT AVAILABLE

            atlas_blas_info:
            customize UnixCCompiler
              libraries f77blas,cblas,atlas not found in ['/Users/julienballbe/anaconda3/envs/NewTest/lib', '/usr/lib']
              NOT AVAILABLE

            accelerate_info:
            customize UnixCCompiler
              libraries accelerate not found in ['/Users/julienballbe/anaconda3/envs/NewTest/lib', '/usr/lib']
            Library accelerate was not found. Ignoring
            customize UnixCCompiler
              libraries veclib not found in ['/Users/julienballbe/anaconda3/envs/NewTest/lib', '/usr/lib']
            Library veclib was not found. Ignoring
              FOUND:
                extra_compile_args = ['-faltivec', '-I/System/Library/Frameworks/vecLib.framework/Headers']
                extra_link_args = ['-Wl,-framework', '-Wl,Accelerate']
                define_macros = [('NO_ATLAS_INFO', 3), ('HAVE_CBLAS', None)]

              FOUND:
                extra_compile_args = ['-faltivec', '-I/System/Library/Frameworks/vecLib.framework/Headers']
                extra_link_args = ['-Wl,-framework', '-Wl,Accelerate']
                define_macros = [('NO_ATLAS_INFO', 3), ('HAVE_CBLAS', None)]

            /bin/sh: svnversion: command not found
            non-existing path in 'numpy/distutils': 'site.cfg'
            lapack_opt_info:
            lapack_mkl_info:
            customize UnixCCompiler
              libraries mkl_rt not found in ['/Users/julienballbe/anaconda3/envs/NewTest/lib', '/usr/lib']
              NOT AVAILABLE

            openblas_lapack_info:
            customize UnixCCompiler
            customize UnixCCompiler
              libraries openblas not found in ['/Users/julienballbe/anaconda3/envs/NewTest/lib', '/usr/lib']
              NOT AVAILABLE

            openblas_clapack_info:
            customize UnixCCompiler
            customize UnixCCompiler
              libraries openblas,lapack not found in ['/Users/julienballbe/anaconda3/envs/NewTest/lib', '/usr/lib']
              NOT AVAILABLE

            flame_info:
            customize UnixCCompiler
              libraries flame not found in ['/Users/julienballbe/anaconda3/envs/NewTest/lib', '/usr/lib']
              NOT AVAILABLE

            atlas_3_10_threads_info:
            Setting PTATLAS=ATLAS
            customize UnixCCompiler
              libraries lapack_atlas not found in /Users/julienballbe/anaconda3/envs/NewTest/lib
            customize UnixCCompiler
              libraries tatlas,tatlas not found in /Users/julienballbe/anaconda3/envs/NewTest/lib
            customize UnixCCompiler
              libraries lapack_atlas not found in /usr/lib
            customize UnixCCompiler
              libraries tatlas,tatlas not found in /usr/lib
            <class 'numpy.distutils.system_info.atlas_3_10_threads_info'>
              NOT AVAILABLE

            atlas_3_10_info:
            customize UnixCCompiler
              libraries lapack_atlas not found in /Users/julienballbe/anaconda3/envs/NewTest/lib
            customize UnixCCompiler
              libraries satlas,satlas not found in /Users/julienballbe/anaconda3/envs/NewTest/lib
            customize UnixCCompiler
              libraries lapack_atlas not found in /usr/lib
            customize UnixCCompiler
              libraries satlas,satlas not found in /usr/lib
            <class 'numpy.distutils.system_info.atlas_3_10_info'>
              NOT AVAILABLE

            atlas_threads_info:
            Setting PTATLAS=ATLAS
            customize UnixCCompiler
              libraries lapack_atlas not found in /Users/julienballbe/anaconda3/envs/NewTest/lib
            customize UnixCCompiler
              libraries ptf77blas,ptcblas,atlas not found in /Users/julienballbe/anaconda3/envs/NewTest/lib
            customize UnixCCompiler
              libraries lapack_atlas not found in /usr/lib
            customize UnixCCompiler
              libraries ptf77blas,ptcblas,atlas not found in /usr/lib
            <class 'numpy.distutils.system_info.atlas_threads_info'>
              NOT AVAILABLE

            atlas_info:
            customize UnixCCompiler
              libraries lapack_atlas not found in /Users/julienballbe/anaconda3/envs/NewTest/lib
            customize UnixCCompiler
              libraries f77blas,cblas,atlas not found in /Users/julienballbe/anaconda3/envs/NewTest/lib
            customize UnixCCompiler
              libraries lapack_atlas not found in /usr/lib
            customize UnixCCompiler
              libraries f77blas,cblas,atlas not found in /usr/lib
            <class 'numpy.distutils.system_info.atlas_info'>
              NOT AVAILABLE

              FOUND:
                extra_compile_args = ['-faltivec', '-I/System/Library/Frameworks/vecLib.framework/Headers']
                extra_link_args = ['-Wl,-framework', '-Wl,Accelerate']
                define_macros = [('NO_ATLAS_INFO', 3), ('HAVE_CBLAS', None)]

            /Users/julienballbe/anaconda3/envs/NewTest/lib/python3.8/site-packages/setuptools/_distutils/dist.py:265: UserWarning: Unknown distribution option: 'define_macros'
              warnings.warn(msg)
            running bdist_wheel
            running build
            running config_cc
            unifing config_cc, config, build_clib, build_ext, build commands --compiler options
            running config_fc
            unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
            running build_src
            build_src
            building py_modules sources
            creating build
            creating build/src.macosx-11.0-arm64-3.8
            creating build/src.macosx-11.0-arm64-3.8/numpy
            creating build/src.macosx-11.0-arm64-3.8/numpy/distutils
            building library "npymath" sources
            get_default_fcompiler: matching types: '['gnu95', 'nag', 'absoft', 'ibm', 'intel', 'gnu', 'g95', 'pg']'
            customize Gnu95FCompiler
            Could not locate executable gfortran
            Could not locate executable f95
            customize NAGFCompiler
            customize AbsoftFCompiler
            Could not locate executable f90
            Could not locate executable f77
            customize IBMFCompiler
            Could not locate executable xlf90
            Could not locate executable xlf
            customize IntelFCompiler
            Could not locate executable ifort
            Could not locate executable ifc
            customize GnuFCompiler
            Could not locate executable g77
            customize G95FCompiler
            Could not locate executable g95
            customize PGroupFCompiler
            Could not locate executable pgfortran
            don't know how to compile Fortran code on platform 'posix'
            C compiler: clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /Users/julienballbe/anaconda3/envs/NewTest/include -arch arm64 -fPIC -O2 -isystem /Users/julienballbe/anaconda3/envs/NewTest/include -arch arm64

            compile options: '-Inumpy/core/src/common -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/Users/julienballbe/anaconda3/envs/NewTest/include/python3.8 -c'
            clang: _configtest.c
            clang _configtest.o -o _configtest
            success!
            removing: _configtest.c _configtest.o _configtest.o.d _configtest
            C compiler: clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /Users/julienballbe/anaconda3/envs/NewTest/include -arch arm64 -fPIC -O2 -isystem /Users/julienballbe/anaconda3/envs/NewTest/include -arch arm64

            compile options: '-Inumpy/core/src/common -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/Users/julienballbe/anaconda3/envs/NewTest/include/python3.8 -c'
            clang: _configtest.c
            _configtest.c:3:19: warning: unused function 'static_func' [-Wunused-function]
            static inline int static_func (void)
                              ^
            1 warning generated.
            success!
            removing: _configtest.c _configtest.o _configtest.o.d
            C compiler: clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /Users/julienballbe/anaconda3/envs/NewTest/include -arch arm64 -fPIC -O2 -isystem /Users/julienballbe/anaconda3/envs/NewTest/include -arch arm64

            compile options: '-Inumpy/core/src/common -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/Users/julienballbe/anaconda3/envs/NewTest/include/python3.8 -c'
            clang: _configtest.c
            removing: _configtest.c _configtest.o _configtest.o.d
            File: build/src.macosx-11.0-arm64-3.8/numpy/core/include/numpy/config.h
            #define SIZEOF_PY_INTPTR_T 8
            #define SIZEOF_OFF_T 8
            #define SIZEOF_PY_LONG_LONG 8
            #define MATHLIB
            #define HAVE_SIN 1
            #define HAVE_COS 1
            #define HAVE_TAN 1
            #define HAVE_SINH 1
            #define HAVE_COSH 1
            #define HAVE_TANH 1
            #define HAVE_FABS 1
            #define HAVE_FLOOR 1
            #define HAVE_CEIL 1
            #define HAVE_SQRT 1
            #define HAVE_LOG10 1
            #define HAVE_LOG 1
            #define HAVE_EXP 1
            #define HAVE_ASIN 1
            #define HAVE_ACOS 1
            #define HAVE_ATAN 1
            #define HAVE_FMOD 1
            #define HAVE_MODF 1
            #define HAVE_FREXP 1
            #define HAVE_LDEXP 1
            #define HAVE_RINT 1
            #define HAVE_TRUNC 1
            #define HAVE_EXP2 1
            #define HAVE_LOG2 1
            #define HAVE_ATAN2 1
            #define HAVE_POW 1
            #define HAVE_NEXTAFTER 1
            #define HAVE_STRTOLL 1
            #define HAVE_STRTOULL 1
            #define HAVE_CBRT 1
            #define HAVE_STRTOLD_L 1
            #define HAVE_BACKTRACE 1
            #define HAVE_MADVISE 1
            #define HAVE_XLOCALE_H 1
            #define HAVE_DLFCN_H 1
            #define HAVE_SYS_MMAN_H 1
            #define HAVE___BUILTIN_ISNAN 1
            #define HAVE___BUILTIN_ISINF 1
            #define HAVE___BUILTIN_ISFINITE 1
            #define HAVE___BUILTIN_BSWAP32 1
            #define HAVE___BUILTIN_BSWAP64 1
            #define HAVE___BUILTIN_EXPECT 1
            #define HAVE___BUILTIN_MUL_OVERFLOW 1
            #define HAVE___BUILTIN_PREFETCH 1
            #define HAVE_ATTRIBUTE_NONNULL 1
            #define HAVE_ATTRIBUTE_TARGET_AVX 1
            #define HAVE_ATTRIBUTE_TARGET_AVX2 1
            #define HAVE_ATTRIBUTE_TARGET_AVX512F 1
            #define HAVE___THREAD 1
            #define HAVE_SINF 1
            #define HAVE_COSF 1
            #define HAVE_TANF 1
            #define HAVE_SINHF 1
            #define HAVE_COSHF 1
            #define HAVE_TANHF 1
            #define HAVE_FABSF 1
            #define HAVE_FLOORF 1
            #define HAVE_CEILF 1
            #define HAVE_RINTF 1
            #define HAVE_TRUNCF 1
            #define HAVE_SQRTF 1
            #define HAVE_LOG10F 1
            #define HAVE_LOGF 1
            #define HAVE_LOG1PF 1
            #define HAVE_EXPF 1
            #define HAVE_EXPM1F 1
            #define HAVE_ASINF 1
            #define HAVE_ACOSF 1
            #define HAVE_ATANF 1
            #define HAVE_ASINHF 1
            #define HAVE_ACOSHF 1
            #define HAVE_ATANHF 1
            #define HAVE_HYPOTF 1
            #define HAVE_ATAN2F 1
            #define HAVE_POWF 1
            #define HAVE_FMODF 1
            #define HAVE_MODFF 1
            #define HAVE_FREXPF 1
            #define HAVE_LDEXPF 1
            #define HAVE_EXP2F 1
            #define HAVE_LOG2F 1
            #define HAVE_COPYSIGNF 1
            #define HAVE_NEXTAFTERF 1
            #define HAVE_CBRTF 1
            #define HAVE_SINL 1
            #define HAVE_COSL 1
            #define HAVE_TANL 1
            #define HAVE_SINHL 1
            #define HAVE_COSHL 1
            #define HAVE_TANHL 1
            #define HAVE_FABSL 1
            #define HAVE_FLOORL 1
            #define HAVE_CEILL 1
            #define HAVE_RINTL 1
            #define HAVE_TRUNCL 1
            #define HAVE_SQRTL 1
            #define HAVE_LOG10L 1
            #define HAVE_LOGL 1
            #define HAVE_LOG1PL 1
            #define HAVE_EXPL 1
            #define HAVE_EXPM1L 1
            #define HAVE_ASINL 1
            #define HAVE_ACOSL 1
            #define HAVE_ATANL 1
            #define HAVE_ASINHL 1
            #define HAVE_ACOSHL 1
            #define HAVE_ATANHL 1
            #define HAVE_HYPOTL 1
            #define HAVE_ATAN2L 1
            #define HAVE_POWL 1
            #define HAVE_FMODL 1
            #define HAVE_MODFL 1
            #define HAVE_FREXPL 1
            #define HAVE_LDEXPL 1
            #define HAVE_EXP2L 1
            #define HAVE_LOG2L 1
            #define HAVE_COPYSIGNL 1
            #define HAVE_NEXTAFTERL 1
            #define HAVE_CBRTL 1
            #define HAVE_DECL_SIGNBIT
            #define HAVE_COMPLEX_H 1
            #define HAVE_CABS 1
            #define HAVE_CACOS 1
            #define HAVE_CACOSH 1
            #define HAVE_CARG 1
            #define HAVE_CASIN 1
            #define HAVE_CASINH 1
            #define HAVE_CATAN 1
            #define HAVE_CATANH 1
            #define HAVE_CCOS 1
            #define HAVE_CCOSH 1
            #define HAVE_CEXP 1
            #define HAVE_CIMAG 1
            #define HAVE_CLOG 1
            #define HAVE_CONJ 1
            #define HAVE_CPOW 1
            #define HAVE_CPROJ 1
            #define HAVE_CREAL 1
            #define HAVE_CSIN 1
            #define HAVE_CSINH 1
            #define HAVE_CSQRT 1
            #define HAVE_CTAN 1
            #define HAVE_CTANH 1
            #define HAVE_CABSF 1
            #define HAVE_CACOSF 1
            #define HAVE_CACOSHF 1
            #define HAVE_CARGF 1
            #define HAVE_CASINF 1
            #define HAVE_CASINHF 1
            #define HAVE_CATANF 1
            #define HAVE_CATANHF 1
            #define HAVE_CCOSF 1
            #define HAVE_CCOSHF 1
            #define HAVE_CEXPF 1
            #define HAVE_CIMAGF 1
            #define HAVE_CLOGF 1
            #define HAVE_CONJF 1
            #define HAVE_CPOWF 1
            #define HAVE_CPROJF 1
            #define HAVE_CREALF 1
            #define HAVE_CSINF 1
            #define HAVE_CSINHF 1
            #define HAVE_CSQRTF 1
            #define HAVE_CTANF 1
            #define HAVE_CTANHF 1
            #define HAVE_CABSL 1
            #define HAVE_CACOSL 1
            #define HAVE_CACOSHL 1
            #define HAVE_CARGL 1
            #define HAVE_CASINL 1
            #define HAVE_CASINHL 1
            #define HAVE_CATANL 1
            #define HAVE_CATANHL 1
            #define HAVE_CCOSL 1
            #define HAVE_CCOSHL 1
            #define HAVE_CEXPL 1
            #define HAVE_CIMAGL 1
            #define HAVE_CLOGL 1
            #define HAVE_CONJL 1
            #define HAVE_CPOWL 1
            #define HAVE_CPROJL 1
            #define HAVE_CREALL 1
            #define HAVE_CSINL 1
            #define HAVE_CSINHL 1
            #define HAVE_CSQRTL 1
            #define HAVE_CTANL 1
            #define HAVE_CTANHL 1
            #define NPY_RESTRICT restrict
            #define NPY_RELAXED_STRIDES_CHECKING 1
            #define HAVE_LDOUBLE_IEEE_DOUBLE_LE 1
            #define NPY_PY3K 1
            #ifndef __cplusplus
            /* #undef inline */
            #endif

            #ifndef _NPY_NPY_CONFIG_H_
            #error config.h should never be included directly, include npy_config.h instead
            #endif

            EOF
              adding 'build/src.macosx-11.0-arm64-3.8/numpy/core/include/numpy/_numpyconfig.h' to sources.
            executing numpy/core/code_generators/generate_numpy_api.py
              adding 'build/src.macosx-11.0-arm64-3.8/numpy/core/include/numpy/__multiarray_api.h' to sources.
            numpy.core - nothing done with h_files = ['build/src.macosx-11.0-arm64-3.8/numpy/core/include/numpy/config.h', 'build/src.macosx-11.0-arm64-3.8/numpy/core/include/numpy/_numpyconfig.h', 'build/src.macosx-11.0-arm64-3.8/numpy/core/include/numpy/__multiarray_api.h']
            building extension "numpy.core._multiarray_tests" sources
            creating build/src.macosx-11.0-arm64-3.8/numpy/core/src/multiarray
            conv_template:> build/src.macosx-11.0-arm64-3.8/numpy/core/src/multiarray/_multiarray_tests.c
            building extension "numpy.core._multiarray_umath" sources
              adding 'build/src.macosx-11.0-arm64-3.8/numpy/core/include/numpy/config.h' to sources.
              adding 'build/src.macosx-11.0-arm64-3.8/numpy/core/include/numpy/_numpyconfig.h' to sources.
            executing numpy/core/code_generators/generate_numpy_api.py
              adding 'build/src.macosx-11.0-arm64-3.8/numpy/core/include/numpy/__multiarray_api.h' to sources.
            executing numpy/core/code_generators/generate_ufunc_api.py
              adding 'build/src.macosx-11.0-arm64-3.8/numpy/core/include/numpy/__ufunc_api.h' to sources.
            conv_template:> build/src.macosx-11.0-arm64-3.8/numpy/core/src/multiarray/arraytypes.c
            conv_template:> build/src.macosx-11.0-arm64-3.8/numpy/core/src/multiarray/einsum.c
            conv_template:> build/src.macosx-11.0-arm64-3.8/numpy/core/src/multiarray/lowlevel_strided_loops.c
            conv_template:> build/src.macosx-11.0-arm64-3.8/numpy/core/src/multiarray/nditer_templ.c
            conv_template:> build/src.macosx-11.0-arm64-3.8/numpy/core/src/multiarray/scalartypes.c
            creating build/src.macosx-11.0-arm64-3.8/numpy/core/src/umath
            conv_template:> build/src.macosx-11.0-arm64-3.8/numpy/core/src/umath/funcs.inc
              adding 'build/src.macosx-11.0-arm64-3.8/numpy/core/src/umath' to include_dirs.
            conv_template:> build/src.macosx-11.0-arm64-3.8/numpy/core/src/umath/simd.inc
            conv_template:> build/src.macosx-11.0-arm64-3.8/numpy/core/src/umath/loops.h
            conv_template:> build/src.macosx-11.0-arm64-3.8/numpy/core/src/umath/loops.c
            conv_template:> build/src.macosx-11.0-arm64-3.8/numpy/core/src/umath/matmul.h
            conv_template:> build/src.macosx-11.0-arm64-3.8/numpy/core/src/umath/matmul.c
            conv_template:> build/src.macosx-11.0-arm64-3.8/numpy/core/src/umath/clip.h
            conv_template:> build/src.macosx-11.0-arm64-3.8/numpy/core/src/umath/clip.c
            conv_template:> build/src.macosx-11.0-arm64-3.8/numpy/core/src/umath/scalarmath.c
              adding 'build/src.macosx-11.0-arm64-3.8/numpy/core/src/npymath' to include_dirs.
            conv_template:> build/src.macosx-11.0-arm64-3.8/numpy/core/src/common/templ_common.h
              adding 'build/src.macosx-11.0-arm64-3.8/numpy/core/src/common' to include_dirs.
            numpy.core - nothing done with h_files = ['build/src.macosx-11.0-arm64-3.8/numpy/core/src/umath/funcs.inc', 'build/src.macosx-11.0-arm64-3.8/numpy/core/src/umath/simd.inc', 'build/src.macosx-11.0-arm64-3.8/numpy/core/src/umath/loops.h', 'build/src.macosx-11.0-arm64-3.8/numpy/core/src/umath/matmul.h', 'build/src.macosx-11.0-arm64-3.8/numpy/core/src/umath/clip.h', 'build/src.macosx-11.0-arm64-3.8/numpy/core/src/npymath/npy_math_internal.h', 'build/src.macosx-11.0-arm64-3.8/numpy/core/src/common/templ_common.h', 'build/src.macosx-11.0-arm64-3.8/numpy/core/include/numpy/config.h', 'build/src.macosx-11.0-arm64-3.8/numpy/core/include/numpy/_numpyconfig.h', 'build/src.macosx-11.0-arm64-3.8/numpy/core/include/numpy/__multiarray_api.h', 'build/src.macosx-11.0-arm64-3.8/numpy/core/include/numpy/__ufunc_api.h']
            building extension "numpy.core._umath_tests" sources
            conv_template:> build/src.macosx-11.0-arm64-3.8/numpy/core/src/umath/_umath_tests.c
            building extension "numpy.core._rational_tests" sources
            conv_template:> build/src.macosx-11.0-arm64-3.8/numpy/core/src/umath/_rational_tests.c
            building extension "numpy.core._struct_ufunc_tests" sources
            conv_template:> build/src.macosx-11.0-arm64-3.8/numpy/core/src/umath/_struct_ufunc_tests.c
            building extension "numpy.core._operand_flag_tests" sources
            conv_template:> build/src.macosx-11.0-arm64-3.8/numpy/core/src/umath/_operand_flag_tests.c
            building extension "numpy.fft._pocketfft_internal" sources
            building extension "numpy.linalg.lapack_lite" sources
            creating build/src.macosx-11.0-arm64-3.8/numpy/linalg
              adding 'numpy/linalg/lapack_lite/python_xerbla.c' to sources.
            building extension "numpy.linalg._umath_linalg" sources
              adding 'numpy/linalg/lapack_lite/python_xerbla.c' to sources.
            conv_template:> build/src.macosx-11.0-arm64-3.8/numpy/linalg/umath_linalg.c
            building extension "numpy.random.mt19937" sources
            building extension "numpy.random.philox" sources
            building extension "numpy.random.pcg64" sources
            building extension "numpy.random.sfc64" sources
            building extension "numpy.random.common" sources
            building extension "numpy.random.bit_generator" sources
            building extension "numpy.random.generator" sources
            building extension "numpy.random.bounded_integers" sources
            building extension "numpy.random.mtrand" sources
            building data_files sources
            build_src: building npy-pkg config files
            /Users/julienballbe/anaconda3/envs/NewTest/lib/python3.8/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
            !!

                    ********************************************************************************
                    Please avoid running ``setup.py`` directly.
                    Instead, use pypa/build, pypa/installer, pypa/build or
                    other standards-based tools.

                    See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
                    ********************************************************************************

            creating build/temp.macosx-11.0-arm64-cpython-38/numpy/core/src/multiarray
            creating build/temp.macosx-11.0-arm64-cpython-38/numpy/core/src/umath
            creating build/temp.macosx-11.0-arm64-cpython-38/build/src.macosx-11.0-arm64-3.8/numpy/core/src/umath
            creating build/temp.macosx-11.0-arm64-cpython-38/private
            creating build/temp.macosx-11.0-arm64-cpython-38/private/var
            creating build/temp.macosx-11.0-arm64-cpython-38/private/var/folders
            creating build/temp.macosx-11.0-arm64-cpython-38/private/var/folders/jr
            creating build/temp.macosx-11.0-arm64-cpython-38/private/var/folders/jr/1xfz0dmx1c3cgj8rlz1_qrwr0000gn
            creating build/temp.macosx-11.0-arm64-cpython-38/private/var/folders/jr/1xfz0dmx1c3cgj8rlz1_qrwr0000gn/T
            creating build/temp.macosx-11.0-arm64-cpython-38/private/var/folders/jr/1xfz0dmx1c3cgj8rlz1_qrwr0000gn/T/pip-install-ywhpkxm3
            creating build/temp.macosx-11.0-arm64-cpython-38/private/var/folders/jr/1xfz0dmx1c3cgj8rlz1_qrwr0000gn/T/pip-install-ywhpkxm3/numpy_6648e6fe18d544cd916641e350228dc1
            creating build/temp.macosx-11.0-arm64-cpython-38/private/var/folders/jr/1xfz0dmx1c3cgj8rlz1_qrwr0000gn/T/pip-install-ywhpkxm3/numpy_6648e6fe18d544cd916641e350228dc1/numpy
            creating build/temp.macosx-11.0-arm64-cpython-38/private/var/folders/jr/1xfz0dmx1c3cgj8rlz1_qrwr0000gn/T/pip-install-ywhpkxm3/numpy_6648e6fe18d544cd916641e350228dc1/numpy/_build_utils
            creating build/temp.macosx-11.0-arm64-cpython-38/private/var/folders/jr/1xfz0dmx1c3cgj8rlz1_qrwr0000gn/T/pip-install-ywhpkxm3/numpy_6648e6fe18d544cd916641e350228dc1/numpy/_build_utils/src
            compile options: '-DNPY_INTERNAL_BUILD=1 -DHAVE_NPY_CONFIG_H=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1 -DNO_ATLAS_INFO=3 -DHAVE_CBLAS -Ibuild/src.macosx-11.0-arm64-3.8/numpy/core/src/umath -Ibuild/src.macosx-11.0-arm64-3.8/numpy/core/src/npymath -Ibuild/src.macosx-11.0-arm64-3.8/numpy/core/src/common -Inumpy/core/include -Ibuild/src.macosx-11.0-arm64-3.8/numpy/core/include/numpy -Inumpy/core/src/common -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/Users/julienballbe/anaconda3/envs/NewTest/include/python3.8 -Ibuild/src.macosx-11.0-arm64-3.8/numpy/core/src/common -Ibuild/src.macosx-11.0-arm64-3.8/numpy/core/src/npymath -Ibuild/src.macosx-11.0-arm64-3.8/numpy/core/src/common -Ibuild/src.macosx-11.0-arm64-3.8/numpy/core/src/npymath -c'
            extra options: '-faltivec -I/System/Library/Frameworks/vecLib.framework/Headers'
            clang: numpy/core/src/multiarray/alloc.c
            clang: numpy/core/src/multiarray/array_assign_scalar.cclang: numpy/core/src/multiarray/buffer.c
            clang: numpy/core/src/multiarray/common.c

            clang: numpy/core/src/multiarray/conversion_utils.c
            clang: numpy/core/src/multiarray/datetime_strings.c
            clang: numpy/core/src/multiarray/descriptor.c
            clang: build/src.macosx-11.0-arm64-3.8/numpy/core/src/multiarray/einsum.c
            clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
            clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
            clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
            clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
            clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
            clang: numpy/core/src/multiarray/hashdescr.c
            clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
            clang: numpy/core/src/multiarray/nditer_constr.c
            clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
            clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
            clang: build/src.macosx-11.0-arm64-3.8/numpy/core/src/multiarray/lowlevel_strided_loops.c
            clang: numpy/core/src/multiarray/multiarraymodule.c
            clang: numpy/core/src/multiarray/refcount.c
            clang: numpy/core/src/multiarray/scalarapi.c
            clang: numpy/core/src/multiarray/temp_elide.c
            clang: numpy/core/src/multiarray/vdot.c
            clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
            clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
            clang: build/src.macosx-11.0-arm64-3.8/numpy/core/src/umath/loops.c
            clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
            clang: numpy/core/src/umath/ufunc_object.c
            clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
            clang: build/src.macosx-11.0-arm64-3.8/numpy/core/src/umath/scalarmath.c
            clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
            clang: numpy/core/src/npymath/npy_math.c
            clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
            clang: numpy/core/src/common/npy_longdouble.c
            clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
            clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
            clang: numpy/core/src/common/numpyos.c
            clang: numpy/core/src/npymath/halffloat.c
            clang: /private/var/folders/jr/1xfz0dmx1c3cgj8rlz1_qrwr0000gn/T/pip-install-ywhpkxm3/numpy_6648e6fe18d544cd916641e350228dc1/numpy/_build_utils/src/apple_sgemv_fix.c
            clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
            clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
            clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
            clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
            clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
            clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
            clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
            clang: error: the clang compiler does not support 'faltivec', please use -maltivec and include altivec.h explicitly
            error: Command "clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /Users/julienballbe/anaconda3/envs/NewTest/include -arch arm64 -fPIC -O2 -isystem /Users/julienballbe/anaconda3/envs/NewTest/include -arch arm64 -DNPY_INTERNAL_BUILD=1 -DHAVE_NPY_CONFIG_H=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1 -DNO_ATLAS_INFO=3 -DHAVE_CBLAS -Ibuild/src.macosx-11.0-arm64-3.8/numpy/core/src/umath -Ibuild/src.macosx-11.0-arm64-3.8/numpy/core/src/npymath -Ibuild/src.macosx-11.0-arm64-3.8/numpy/core/src/common -Inumpy/core/include -Ibuild/src.macosx-11.0-arm64-3.8/numpy/core/include/numpy -Inumpy/core/src/common -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/Users/julienballbe/anaconda3/envs/NewTest/include/python3.8 -Ibuild/src.macosx-11.0-arm64-3.8/numpy/core/src/common -Ibuild/src.macosx-11.0-arm64-3.8/numpy/core/src/npymath -Ibuild/src.macosx-11.0-arm64-3.8/numpy/core/src/common -Ibuild/src.macosx-11.0-arm64-3.8/numpy/core/src/npymath -c numpy/core/src/multiarray/buffer.c -o build/temp.macosx-11.0-arm64-cpython-38/numpy/core/src/multiarray/buffer.o -MMD -MF build/temp.macosx-11.0-arm64-cpython-38/numpy/core/src/multiarray/buffer.o.d -faltivec -I/System/Library/Frameworks/vecLib.framework/Headers" failed with exit status 1
            [end of output]

        note: This error originates from a subprocess, and is likely not a problem with pip.
        ERROR: Failed building wheel for numpy
        Running setup.py clean for numpy
        error: subprocess-exited-with-error

        × python setup.py clean did not run successfully.
        │ exit code: 1
        ╰─> [10 lines of output]
            Running from numpy source directory.

            `setup.py clean` is not supported, use one of the following instead:

              - `git clean -xdf` (cleans all files)
              - `git clean -Xdf` (cleans all versioned files, doesn't touch
                                  files that aren't checked into the git repo)

            Add `--force` to your command to use it anyway if you must (unsupported).

            [end of output]

        note: This error originates from a subprocess, and is likely not a problem with pip.
        ERROR: Failed cleaning build dir for numpy
      Failed to build numpy
      ERROR: Could not build wheels for numpy, which is required to install pyproject.toml-based projects
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.
[?25hNote: you may need to restart the kernel to use updated packages.

From what I see at the end of the message, there might be a problem with numpy and/or wheel, but I can't figure why.

Environment (please complete the following information):

If you have any idea what I am doing wrong, please enlighten me! Thank you for all the help you can give me!

Best feelings,

Julien

ahwillia commented 1 year ago

I am getting a similar error. For me it is statsmodels that fails to build. Is there a reason why there is a requirement that statsmodels<=0.13.0?

Here is what I did:

$ conda --version
conda 23.5.0

$ conda create --name testenv
$ conda activate testenv
$ python --version
Python 3.11.3

$ conda install pip
$ python -m pip install allensdk

The error output is very long but the important part is maybe this?

Building wheels for collected packages: statsmodels
  Building wheel for statsmodels (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for statsmodels (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [1562 lines of output]
      <string>:19: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
      <string>:53: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
      <string>:56: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
      <string>:53: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
      /tmp/pip-build-env-u_gtgmr5/overlay/lib/python3.11/site-packages/setuptools/config/setupcfg.py:293: _DeprecatedConfig: Deprecated config in `setup.cfg`
      !!

              ********************************************************************************
              The license_file parameter is deprecated, use license_files instead.

              By 2023-Oct-30, you need to update your project and remove deprecated calls
              or your builds will no longer be supported.

              See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details.
              ********************************************************************************

      !!
morriscb commented 1 year ago

Hi folks, sorry the delay. This looks to be an issue with compiling of a few dependencies using clang on MacOS. I was able to run pip install allensdk on a fresh python3.8 conda environment on Linux without issue. We don't have a fix for this as of yet but we will attempt to deploy something in the next version update.

For now, I was able to pip install the SDK on a fresh, python3.8 conda using a M1 Mac running OS13.3.1 by doing the following:

conda install numpy
conda install h5py
pip install allensdk

@ahwillia to your point, I unpinned the version on statsmodels using a local clone of the SDK and ran into the same issue with clang.

ahwillia commented 1 year ago

I'm running into this on Linux, not MacOS. Sorry I failed to mention.

ahwillia commented 1 year ago

I just checked and I am able to reproduce my error (the build fails for statsmodels not numpy) on my macbook pro:

morriscb commented 1 year ago

Okay, not sure why I'm not seeing it for Linux, likely different gcc versions. Did the procedure I mentioned above allow your to install the package?

ahwillia commented 1 year ago

Moving from Python 3.11.3 -> Python 3.8.16 seems to have fixed the issue on my both my Mac and Linux workstation.

morriscb commented 1 year ago

Good to hear. For the record. The repo doesn't yet support 3.11. Just check and pynwb doesn't not currently list 3.11 as a supported python version as of yet.

ulisespereira commented 1 year ago

Hello, I am also getting problems with the Allensdk installation. It seems that in my case is a problem with the cyton compiler. My system is:

M1 Max OS 1.24.3 conda 23.5.2 Python 3.8.16 Numpy 1.24.3 h5py 3.7.0

The error I am getting is the following:

`Collecting allensdk Using cached allensdk-2.15.1-py3-none-any.whl (4.0 MB) Collecting psycopg2-binary (from allensdk) Using cached psycopg2_binary-2.9.6-cp38-cp38-macosx_11_0_arm64.whl (2.0 MB) Collecting hdmf<=3.4.7 (from allensdk) Using cached hdmf-3.4.7-py3-none-any.whl (187 kB) Requirement already satisfied: h5py in ./anaconda3/envs/allensdk38/lib/python3.8/site-packages (from allensdk) (3.7.0) Collecting matplotlib<3.4.3,>=1.4.3 (from allensdk) Using cached matplotlib-3.4.2.tar.gz (37.3 MB) Preparing metadata (setup.py) ... done Requirement already satisfied: numpy in ./anaconda3/envs/allensdk38/lib/python3.8/site-packages (from allensdk) (1.24.3) Collecting pandas>=1.1.5 (from allensdk) Using cached pandas-2.0.3-cp38-cp38-macosx_11_0_arm64.whl (10.7 MB) Collecting jinja2>=3.0.0 (from allensdk) Using cached Jinja2-3.1.2-py3-none-any.whl (133 kB) Collecting scipy<2.0.0,>=1.4.0 (from allensdk) Using cached scipy-1.10.1-cp38-cp38-macosx_12_0_arm64.whl (28.8 MB) Collecting six<2.0.0,>=1.9.0 (from allensdk) Using cached six-1.16.0-py2.py3-none-any.whl (11 kB) Collecting pynrrd<1.0.0,>=0.2.1 (from allensdk) Using cached pynrrd-0.4.3-py2.py3-none-any.whl (18 kB) Collecting future<1.0.0,>=0.14.3 (from allensdk) Using cached future-0.18.3.tar.gz (840 kB) Preparing metadata (setup.py) ... done Collecting requests<3.0.0 (from allensdk) Using cached requests-2.31.0-py3-none-any.whl (62 kB) Collecting requests-toolbelt<1.0.0 (from allensdk) Using cached requests_toolbelt-0.10.1-py2.py3-none-any.whl (54 kB) Collecting simplejson<4.0.0,>=3.10.0 (from allensdk) Using cached simplejson-3.19.1-cp38-cp38-macosx_11_0_arm64.whl (74 kB) Collecting scikit-image>=0.14.0 (from allensdk) Using cached scikit_image-0.21.0-cp38-cp38-macosx_12_0_arm64.whl (12.3 MB) Collecting scikit-build<1.0.0 (from allensdk) Using cached scikit_build-0.17.6-py3-none-any.whl (84 kB) Collecting statsmodels<=0.13.0 (from allensdk) Using cached statsmodels-0.13.0.tar.gz (17.8 MB) Installing build dependencies ... done Getting requirements to build wheel ... error error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully. │ exit code: 1 ╰─> [141 lines of output]

:19: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html :53: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead. :56: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead. :53: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead. Error compiling Cython file: ------------------------------------------------------------ ... # smooth for i in range(n): prev = (n+i-1) % n # s[t-m] = xhat[prev, 2+m-1] yhat[i] = (xhat[prev, 0] * xhat[prev, 1]**phi) + xhat[prev, 2+m-1] ^ ------------------------------------------------------------ statsmodels/tsa/exponential_smoothing/_ets_smooth.pyx:156:55: Cannot assign type 'npy_float64 complex' to 'float64_t' Error compiling Cython file: ------------------------------------------------------------ ... # s[t-m] = xhat[prev, 2+m-1] yhat[i] = (xhat[prev, 0] * xhat[prev, 1]**phi) + xhat[prev, 2+m-1] # l_t = a * (y_t - s_t-m) + (1-a) * (l_t-1 * b_t-1**phi) xhat[i, 0] = (alpha * (y[i] - xhat[prev, 2+m-1]) + (1 - alpha) * (xhat[prev, 0] * xhat[prev, 1]**phi)) ^ ------------------------------------------------------------ statsmodels/tsa/exponential_smoothing/_ets_smooth.pyx:159:22: Cannot assign type 'npy_float64 complex' to 'float64_t' Error compiling Cython file: ------------------------------------------------------------ ... # l_t = a * (y_t - s_t-m) + (1-a) * (l_t-1 * b_t-1**phi) xhat[i, 0] = (alpha * (y[i] - xhat[prev, 2+m-1]) + (1 - alpha) * (xhat[prev, 0] * xhat[prev, 1]**phi)) # b_t = (b*) * (l_t / l_t-1) + (1 - (b*)) * b_t-1**phi xhat[i, 1] = (beta_star * (xhat[i, 0] / xhat[prev, 0]) + (1 - beta_star) * xhat[prev, 1]**phi) ^ ------------------------------------------------------------ statsmodels/tsa/exponential_smoothing/_ets_smooth.pyx:162:22: Cannot assign type 'npy_float64 complex' to 'float64_t' Error compiling Cython file: ------------------------------------------------------------ ... # smooth for i in range(n): prev = (n+i-1) % n # s[t-m] = xhat[prev, 2+m-1] yhat[i] = (xhat[prev, 0] * xhat[prev, 1]**phi) * xhat[prev, 2+m-1] ^ ------------------------------------------------------------ statsmodels/tsa/exponential_smoothing/_ets_smooth.pyx:191:55: Cannot assign type 'npy_float64 complex' to 'float64_t' Error compiling Cython file: ------------------------------------------------------------ ... # s[t-m] = xhat[prev, 2+m-1] yhat[i] = (xhat[prev, 0] * xhat[prev, 1]**phi) * xhat[prev, 2+m-1] # l_t = a * (y_t / s_t-m) + (1-a) * (l_t-1 * b_t-1**phi) xhat[i, 0] = (alpha * (y[i] / xhat[prev, 2+m-1]) + (1 - alpha) * (xhat[prev, 0] * xhat[prev, 1]**phi)) ^ ------------------------------------------------------------ statsmodels/tsa/exponential_smoothing/_ets_smooth.pyx:194:22: Cannot assign type 'npy_float64 complex' to 'float64_t' Error compiling Cython file: ------------------------------------------------------------ ... # l_t = a * (y_t / s_t-m) + (1-a) * (l_t-1 * b_t-1**phi) xhat[i, 0] = (alpha * (y[i] / xhat[prev, 2+m-1]) + (1 - alpha) * (xhat[prev, 0] * xhat[prev, 1]**phi)) # b_t = (b*) * (l_t / l_t-1) + (1 - (b*)) * b_t-1**phi xhat[i, 1] = (beta_star * (xhat[i, 0] / xhat[prev, 0]) + (1 - beta_star) * xhat[prev, 1]**phi) ^ ------------------------------------------------------------ statsmodels/tsa/exponential_smoothing/_ets_smooth.pyx:197:22: Cannot assign type 'npy_float64 complex' to 'float64_t' Compiling statsmodels/tsa/_stl.pyx because it changed. Compiling statsmodels/tsa/holtwinters/_exponential_smoothers.pyx because it changed. Compiling statsmodels/tsa/exponential_smoothing/_ets_smooth.pyx because it changed. Compiling statsmodels/tsa/_innovations.pyx because it changed. Compiling statsmodels/tsa/regime_switching/_hamilton_filter.pyx because it changed. Compiling statsmodels/tsa/regime_switching/_kim_smoother.pyx because it changed. Compiling statsmodels/tsa/innovations/_arma_innovations.pyx because it changed. Compiling statsmodels/nonparametric/linbin.pyx because it changed. Compiling statsmodels/robust/_qn.pyx because it changed. Compiling statsmodels/nonparametric/_smoothers_lowess.pyx because it changed. Compiling statsmodels/tsa/statespace/_initialization.pyx because it changed. Compiling statsmodels/tsa/statespace/_representation.pyx because it changed. Compiling statsmodels/tsa/statespace/_kalman_filter.pyx because it changed. Compiling statsmodels/tsa/statespace/_filters/_conventional.pyx because it changed. Compiling statsmodels/tsa/statespace/_filters/_inversions.pyx because it changed. Compiling statsmodels/tsa/statespace/_filters/_univariate.pyx because it changed. Compiling statsmodels/tsa/statespace/_filters/_univariate_diffuse.pyx because it changed. Compiling statsmodels/tsa/statespace/_kalman_smoother.pyx because it changed. Compiling statsmodels/tsa/statespace/_smoothers/_alternative.pyx because it changed. Compiling statsmodels/tsa/statespace/_smoothers/_classical.pyx because it changed. Compiling statsmodels/tsa/statespace/_smoothers/_conventional.pyx because it changed. Compiling statsmodels/tsa/statespace/_smoothers/_univariate.pyx because it changed. Compiling statsmodels/tsa/statespace/_smoothers/_univariate_diffuse.pyx because it changed. Compiling statsmodels/tsa/statespace/_simulation_smoother.pyx because it changed. Compiling statsmodels/tsa/statespace/_cfa_simulation_smoother.pyx because it changed. Compiling statsmodels/tsa/statespace/_tools.pyx because it changed. [ 1/26] Cythonizing statsmodels/nonparametric/_smoothers_lowess.pyx [ 2/26] Cythonizing statsmodels/nonparametric/linbin.pyx [ 3/26] Cythonizing statsmodels/robust/_qn.pyx [ 4/26] Cythonizing statsmodels/tsa/_innovations.pyx [ 5/26] Cythonizing statsmodels/tsa/_stl.pyx [ 6/26] Cythonizing statsmodels/tsa/exponential_smoothing/_ets_smooth.pyx Traceback (most recent call last): File "/Users/ulises/anaconda3/envs/allensdk38/lib/python3.8/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in main() File "/Users/ulises/anaconda3/envs/allensdk38/lib/python3.8/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main json_out['return_val'] = hook(**hook_input['kwargs']) File "/Users/ulises/anaconda3/envs/allensdk38/lib/python3.8/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel return hook(config_settings) File "/private/var/folders/8j/s45tmjmx3tg9l2_9xnvwv6c80000gp/T/pip-build-env-owxkedv2/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 341, in get_requires_for_build_wheel return self._get_build_requires(config_settings, requirements=['wheel']) File "/private/var/folders/8j/s45tmjmx3tg9l2_9xnvwv6c80000gp/T/pip-build-env-owxkedv2/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 323, in _get_build_requires self.run_setup() File "/private/var/folders/8j/s45tmjmx3tg9l2_9xnvwv6c80000gp/T/pip-build-env-owxkedv2/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 487, in run_setup super(_BuildMetaLegacyBackend, File "/private/var/folders/8j/s45tmjmx3tg9l2_9xnvwv6c80000gp/T/pip-build-env-owxkedv2/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 338, in run_setup exec(code, locals()) File "", line 304, in File "/private/var/folders/8j/s45tmjmx3tg9l2_9xnvwv6c80000gp/T/pip-build-env-owxkedv2/overlay/lib/python3.8/site-packages/Cython/Build/Dependencies.py", line 1134, in cythonize cythonize_one(*args) File "/private/var/folders/8j/s45tmjmx3tg9l2_9xnvwv6c80000gp/T/pip-build-env-owxkedv2/overlay/lib/python3.8/site-packages/Cython/Build/Dependencies.py", line 1301, in cythonize_one raise CompileError(None, pyx_file) Cython.Compiler.Errors.CompileError: statsmodels/tsa/exponential_smoothing/_ets_smooth.pyx [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. error: subprocess-exited-with-error × Getting requirements to build wheel did not run successfully. │ exit code: 1 ╰─> See above for output. note: This error originates from a subprocess, and is likely not a problem with pip.`
ulisespereira commented 1 year ago

Hi again, I am writing just to mention that I try to install Allensdk in another brand new mac M2 Pro and I got the same error.

rly commented 1 year ago

Just check and pynwb doesn't not currently list 3.11 as a supported python version as of yet.

The latest version of pynwb (2.3.3), released three weeks ago, officially supports Python 3.11

slinderman commented 1 year ago

@morriscb, the students at NeuroMatch Academy also encountered the statsmodels build failure when attempting to pip install AllenSDK on Colab. I see that you removed the max version limit in https://github.com/AllenInstitute/AllenSDK/pull/2699, and that should fix the current problem.

I wonder if some of the other max version limit can be removed as well? Unless they're really necessary, it seems like they could easily lead to more issues down the road.

morriscb commented 1 year ago

Hey @slinderman. Yes, we've updated and unpinned the stats models as it was finally starting to show in development when unittesting. We should have the updated version on pypi soon.

It's likely that we could unpin many of the dependencies, however on the flip side of what you point out, at some point they were necessary and put in for a reason. Unpinning all the dependencies would be a larger project requiring a lot of testing and rewrites to assure ourselves that the code is running as expected. Unfortunately our team doesn't have the time budgeted for currently, potentially down the road.

slinderman commented 1 year ago

It looks like most of the upper bounds were added in one fell swoop with this commit https://github.com/AllenInstitute/AllenSDK/commit/2ce26e75e050885206eeff07383f7402e08f3219. I don't know the full story, but I'd be surprised if they're all really necessary.

It's not urgent and it's no problem if time isn't available now. The other upper bounds aren't causing problems right now, and I agree it would certainly require more testing. I'm just suggesting that it might not be as big a can of worms as it seems on the surface.

jules-samaran commented 1 year ago

@ulisespereira did you manage to find a solution? On a MacBook Pro M2 OS 13.2.1, running:

conda create -n allen python=3.8.16 ipython
conda activate allen
conda install numpy
conda install h5py
pip install allensdk

I got the same error message as @ulisespereira

morriscb commented 1 year ago

Hi @jules-samaran, The statsmodel version is now fixed on the master branch on github. The version on pip hasn't been updated as of yet. If you clone the this repo and use pip to install the local version, you will likely have more success.