Jammy2211 / PyAutoCTI

PyAutoCTI: Charge Transfer Inefficiency Calibration

Home Page:https://pyautocti.readthedocs.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Problems installing arCTIc - JOSS review

jryon opened this issue · comments

Hi, I've started reviewing your JOSS submission. My attempts to install arCTIc have not been successful.

First, I'll note that the conda and pip installation guides on readthedocs both say "Once you have created your conda environment you must install arCTIc before installing PyAutoCTI. The installation guide is found at this link." but no link is present. I think you mean to link to this page.

However, my first attempts to install arCTIc were by using the instructions listed in the arCTIc README here. These instructions are a bit confusing, and the uncommented pip commands failed for me. I also do not have homebrew installed, so it's not clear to me how to install those libraries without it, or check that I already have them.

Then, I found the Installing arCTIc page on readthedocs. When running make all (I cannot use sudo on my machine) after cloning the arCTIc repository, I get the following error:

/System/Volumes/Data/user/ryon/src/arctic/src /System/Volumes/Data/user/ryon/src/arctic/build
/System/Volumes/Data/user/ryon/src/arctic/src/trap_managers.cpp /System/Volumes/Data/user/ryon/src/arctic/src/main.cpp /System/Volumes/Data/user/ryon/src/arctic/src/roe.cpp /System/Volumes/Data/user/ryon/src/arctic/src/cti.cpp /System/Volumes/Data/user/ryon/src/arctic/src/util.cpp /System/Volumes/Data/user/ryon/src/arctic/src/ccd.cpp /System/Volumes/Data/user/ryon/src/arctic/src/traps.cpp /System/Volumes/Data/user/ryon/src/arctic/build/trap_managers.o /System/Volumes/Data/user/ryon/src/arctic/build/main.o /System/Volumes/Data/user/ryon/src/arctic/build/roe.o /System/Volumes/Data/user/ryon/src/arctic/build/cti.o /System/Volumes/Data/user/ryon/src/arctic/build/util.o /System/Volumes/Data/user/ryon/src/arctic/build/ccd.o /System/Volumes/Data/user/ryon/src/arctic/build/traps.o
Downloading and installing GSL 2.6 to /opt/local

  • cd /System/Volumes/Data/user/ryon/src/arctic
  • '[' -d gsl-2.6 ']'
  • '[' -f gsl-2.6.tar.gz ']'
  • wget ftp://ftp.gnu.org/gnu/gsl/gsl-2.6.tar.gz
    ./get_gsl.sh: line 18: wget: command not found
    make: *** [gsl] Error 127

I will now go install wget, but I think more description of the requirements for installing arCTIc is needed in the installation guide.

Quick update. I've now installed wget with conda, but appear to have run into a permissions problem, likely because I can't use sudo on my work machine. I'll try installing on my personal machine instead.

...
x gsl-2.6/doc/examples/statsort.txt
x gsl-2.6/doc/examples/stat.txt
x gsl-2.6/doc/examples/sum.txt
x gsl-2.6/doc/examples/vectorr.txt
x gsl-2.6/doc/examples/vectorview.txt
x gsl-2.6/doc/examples/nlfit4.c

  • mkdir -p /opt/local
    mkdir: /opt/local: Permission denied
    make: *** [gsl] Error 1

Can you check if you can install arcticpy via the command pip install arcticpy==2.1.

I don't think this will work with autocti, and I'll fix this with a release in the next week, but its good first making sure the pip build of arcticpy installs OK.

(The install instructions were outdated as we got a pip release finally working, I have updated readthedocs accordingly).

This doesn't appear to be working for me. I did the following:
conda create -n python=3.11 autocti astropy numpy scikit-image scikit-learn scipy
conda activate autocti
pip install --upgrade pip
pip install arcticpy==2.1

Here's the output:

Collecting arcticpy==2.1
Downloading arcticpy-2.1.tar.gz (285 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 285.3/285.3 kB 5.4 MB/s eta 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
Collecting autoconf
Downloading autoconf-2022.11.26.11-py3-none-any.whl (14 kB)
Requirement already satisfied: numpy~=1.21 in /Users/ryon/miniconda3/envs/autocti/lib/python3.11/site-packages (from arcticpy==2.1) (1.23.5)
Collecting typing-inspect>=0.4.0
Using cached typing_inspect-0.8.0-py3-none-any.whl (8.7 kB)
Collecting PyYAML==5.4.1
Using cached PyYAML-5.4.1-cp311-cp311-macosx_10_9_x86_64.whl
Collecting mypy-extensions>=0.3.0
Using cached mypy_extensions-0.4.3-py2.py3-none-any.whl (4.5 kB)
Collecting typing-extensions>=3.7.4
Using cached typing_extensions-4.4.0-py3-none-any.whl (26 kB)
Building wheels for collected packages: arcticpy
Building wheel for arcticpy (pyproject.toml) ... error
error: subprocess-exited-with-error

× Building wheel for arcticpy (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [102 lines of output]
rm python/arcticpy/wrapper.cpp
Compiling python/arcticpy/wrapper.pyx because it changed.
[1/1] Cythonizing python/arcticpy/wrapper.pyx
/private/var/folders/nz/gtcj6sl91mb8v7ccdhlxvl2w0001tl/T/pip-build-env-jo6157ub/overlay/lib/python3.11/site-packages/setuptools/config/pyprojecttoml.py:108: _BetaConfiguration: Support for [tool.setuptools] in pyproject.toml is still beta.
warnings.warn(msg, _BetaConfiguration)
running bdist_wheel
running build
running build_py
creating build
creating build/lib.macosx-10.9-x86_64-cpython-311
creating build/lib.macosx-10.9-x86_64-cpython-311/arcticpy
copying python/arcticpy/init.py -> build/lib.macosx-10.9-x86_64-cpython-311/arcticpy
copying python/arcticpy/pixel_bounce.py -> build/lib.macosx-10.9-x86_64-cpython-311/arcticpy
copying python/arcticpy/traps.py -> build/lib.macosx-10.9-x86_64-cpython-311/arcticpy
copying python/arcticpy/cti.py -> build/lib.macosx-10.9-x86_64-cpython-311/arcticpy
copying python/arcticpy/roe.py -> build/lib.macosx-10.9-x86_64-cpython-311/arcticpy
copying python/arcticpy/ccd.py -> build/lib.macosx-10.9-x86_64-cpython-311/arcticpy
copying python/arcticpy/read_noise.py -> build/lib.macosx-10.9-x86_64-cpython-311/arcticpy
running egg_info
writing python/arcticpy.egg-info/PKG-INFO
writing dependency_links to python/arcticpy.egg-info/dependency_links.txt
writing requirements to python/arcticpy.egg-info/requires.txt
writing top-level names to python/arcticpy.egg-info/top_level.txt
listing git files failed - pretending there aren't any
reading manifest file 'python/arcticpy.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files found matching 'python/arcticpy/src/wrapper.cpp'
writing manifest file 'python/arcticpy.egg-info/SOURCES.txt'
/private/var/folders/nz/gtcj6sl91mb8v7ccdhlxvl2w0001tl/T/pip-build-env-jo6157ub/overlay/lib/python3.11/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'arcticpy.include' as data is deprecated, please list it in packages.
!!

      ############################
      # Package would be ignored #
      ############################
      Python recognizes 'arcticpy.include' as an importable package,
      but it is not listed in the `packages` configuration of setuptools.
  
      'arcticpy.include' has been automatically added to the distribution only
      because it may contain data files, but this behavior is likely to change
      in future versions of setuptools (and therefore is considered deprecated).
  
      Please make sure that 'arcticpy.include' is included as a package by using
      the `packages` configuration field or the proper discovery methods
      (for example by using `find_namespace_packages(...)`/`find_namespace:`
      instead of `find_packages(...)`/`find:`).
  
      You can read more about "package discovery" and "data files" on setuptools
      documentation page.
  
  
  !!
  
    check.warn(importable)
  /private/var/folders/nz/gtcj6sl91mb8v7ccdhlxvl2w0001tl/T/pip-build-env-jo6157ub/overlay/lib/python3.11/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning:     Installing 'arcticpy.src' as data is deprecated, please list it in `packages`.
      !!
  
  
      ############################
      # Package would be ignored #
      ############################
      Python recognizes 'arcticpy.src' as an importable package,
      but it is not listed in the `packages` configuration of setuptools.
  
      'arcticpy.src' has been automatically added to the distribution only
      because it may contain data files, but this behavior is likely to change
      in future versions of setuptools (and therefore is considered deprecated).
  
      Please make sure that 'arcticpy.src' is included as a package by using
      the `packages` configuration field or the proper discovery methods
      (for example by using `find_namespace_packages(...)`/`find_namespace:`
      instead of `find_packages(...)`/`find:`).
  
      You can read more about "package discovery" and "data files" on setuptools
      documentation page.
  
  
  !!
  
    check.warn(importable)
  copying python/arcticpy/wrapper.cpp -> build/lib.macosx-10.9-x86_64-cpython-311/arcticpy
  copying python/arcticpy/wrapper.pyx -> build/lib.macosx-10.9-x86_64-cpython-311/arcticpy
  creating build/lib.macosx-10.9-x86_64-cpython-311/arcticpy/include
  copying python/arcticpy/include/interface.hpp -> build/lib.macosx-10.9-x86_64-cpython-311/arcticpy/include
  creating build/lib.macosx-10.9-x86_64-cpython-311/arcticpy/src
  copying python/arcticpy/src/interface.cpp -> build/lib.macosx-10.9-x86_64-cpython-311/arcticpy/src
  running build_ext
  building 'arcticpy.wrapper' extension
  creating build/temp.macosx-10.9-x86_64-cpython-311
  creating build/temp.macosx-10.9-x86_64-cpython-311/python
  creating build/temp.macosx-10.9-x86_64-cpython-311/python/arcticpy
  creating build/temp.macosx-10.9-x86_64-cpython-311/python/arcticpy/src
  creating build/temp.macosx-10.9-x86_64-cpython-311/src
  g++ -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /Users/ryon/miniconda3/envs/autocti/include -fPIC -O2 -isystem /Users/ryon/miniconda3/envs/autocti/include -DNPY_NO_DEPRECATED_API=0 -Ipython/arcticpy/include -Iinclude/ -I/private/var/folders/nz/gtcj6sl91mb8v7ccdhlxvl2w0001tl/T/pip-build-env-jo6157ub/overlay/lib/python3.11/site-packages/numpy/core/include -I/usr/local/include -I/Users/ryon/miniconda3/envs/autocti/include/python3.11 -c python/arcticpy/src/interface.cpp -o build/temp.macosx-10.9-x86_64-cpython-311/python/arcticpy/src/interface.o -std=c++17 -O3
  In file included from python/arcticpy/src/interface.cpp:2:
  In file included from python/arcticpy/include/interface.hpp:2:
  In file included from include/cti.hpp:7:
  include/traps.hpp:5:10: fatal error: 'gsl/gsl_integration.h' file not found
  #include <gsl/gsl_integration.h>
           ^~~~~~~~~~~~~~~~~~~~~~~
  1 error generated.
  error: command '/usr/bin/g++' failed with exit code 1
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for arcticpy
Failed to build arcticpy
ERROR: Could not build wheels for arcticpy, which is required to install pyproject.toml-based projects

The problem is that the GSL libraries are not installed on your computer (https://www.gnu.org/software/gsl/), or not linked correctly.

I have previously discussed with co developers making them optional (as they are used for a niche part of functionality). There were reasons this wasn't straight forward, but this issue probably motivates us pushing through on this.

I'll get back to you, albeit if you are willing to have a go at installing the GSL it might be straight forward. I may be able to get a GSL-less build going though!

GSL is installed on my personal machine, but homebrew puts libraries in /opt/homebrew on computers with Apple silicon. So it does appear GSL is not linked correctly for installing arctic. I'm not familiar enough with brew, linking, or makefiles to make this work. Any suggestions?

Can you try a pip install arcticpy_no_gsl and let me know if you get an error? :)

Yes, that worked. I then tried pip install autocti but that failed.

What was the error?

I dont think autocti should work yet (I need to do a release) but would be good to confirm the error makes sense...

Looks like it errored on numba and llvmlite. The full error is quite long, so I've removed many of the lines related to copying and creating builds for numba:

Building wheels for collected packages: numba, llvmlite
Building wheel for numba (setup.py) ... error
error: subprocess-exited-with-error

× python setup.py bdist_wheel did not run successfully.
│ exit code: 1
╰─> [795 lines of output]
TBB not found
Using OpenMP from: /Users/jryon/miniconda3/envs/autocti
running bdist_wheel
running build
got version from file /private/var/folders/5y/70tct30n5m92rcy0h5hqzg2m0000gn/T/pip-install-hke2ivpc/numba_c97e508dab0a4e65a3b9738df503a076/numba/_version.py {'version': '0.51.2', 'full': '9d570961590c09a1eba748c9c37e91d1224fc9ad'}
running build_py
creating build
creating build/lib.macosx-11.1-arm64-cpython-310
creating build/lib.macosx-11.1-arm64-cpython-310/numba
copying numba/_version.py -> build/lib.macosx-11.1-arm64-cpython-310/numba
copying numba/init.py -> build/lib.macosx-11.1-arm64-cpython-310/numba
copying numba/main.py -> build/lib.macosx-11.1-arm64-cpython-310/numba
.....
copying numba/cuda/tests/cudadrv/data/jitlink.ptx -> build/lib.macosx-11.1-arm64-cpython-310/numba/cuda/tests/cudadrv/data
running build_ext
building 'numba._dynfunc' extension
Warning: Can't read registry to find the necessary compiler setting
Make sure that Python modules winreg, win32api or win32con are installed.
INFO: C compiler: clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /Users/jryon/miniconda3/envs/autocti/include -arch arm64 -fPIC -O2 -isystem /Users/jryon/miniconda3/envs/autocti/include -arch arm64

  creating build/temp.macosx-11.1-arm64-cpython-310
  creating build/temp.macosx-11.1-arm64-cpython-310/numba
  INFO: compile options: '-I/Users/jryon/miniconda3/envs/autocti/include/python3.10 -c'
  extra options: '-g'
  INFO: clang: numba/_dynfuncmod.c
  INFO: clang -bundle -undefined dynamic_lookup -Wl,-rpath,/Users/jryon/miniconda3/envs/autocti/lib -L/Users/jryon/miniconda3/envs/autocti/lib -Wl,-rpath,/Users/jryon/miniconda3/envs/autocti/lib -L/Users/jryon/miniconda3/envs/autocti/lib build/temp.macosx-11.1-arm64-cpython-310/numba/_dynfuncmod.o -o build/lib.macosx-11.1-arm64-cpython-310/numba/_dynfunc.cpython-310-darwin.so
  ld: warning: -undefined dynamic_lookup may not work with chained fixups
  building 'numba._dispatcher' extension
  INFO: C compiler: clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /Users/jryon/miniconda3/envs/autocti/include -arch arm64 -fPIC -O2 -isystem /Users/jryon/miniconda3/envs/autocti/include -arch arm64
  
  creating build/temp.macosx-11.1-arm64-cpython-310/numba/core
  creating build/temp.macosx-11.1-arm64-cpython-310/numba/core/typeconv
  INFO: compile options: '-I/Users/jryon/miniconda3/envs/autocti/lib/python3.10/site-packages/numpy/core/include -I/Users/jryon/miniconda3/envs/autocti/include/python3.10 -c'
  INFO: clang: numba/_hashtable.c
  INFO: clang: numba/_typeof.c
  INFO: clang: numba/core/typeconv/typeconv.cpp
  INFO: clang: numba/_dispatcher.c
  INFO: clang: numba/_dispatcherimpl.cpp
  numba/_dispatcher.c:26:13: error: no member named 'use_tracing' in 'struct _ts'
      tstate->use_tracing = 0;
      ~~~~~~  ^
  numba/_dispatcher.c:28:13: error: no member named 'use_tracing' in 'struct _ts'
      tstate->use_tracing = ((tstate->c_tracefunc != NULL)
      ~~~~~~  ^
  numba/_dispatcher.c:303:17: error: no member named 'use_tracing' in 'struct _ts'
      if (tstate->use_tracing && tstate->c_profilefunc)
          ~~~~~~  ^
  numba/_dispatcher.c:512:13: error: no member named 'use_tracing' in 'struct _ts'
      if (ts->use_tracing && ts->c_profilefunc) {
          ~~  ^
  4 errors generated.
  error: Command "clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /Users/jryon/miniconda3/envs/autocti/include -arch arm64 -fPIC -O2 -isystem /Users/jryon/miniconda3/envs/autocti/include -arch arm64 -I/Users/jryon/miniconda3/envs/autocti/lib/python3.10/site-packages/numpy/core/include -I/Users/jryon/miniconda3/envs/autocti/include/python3.10 -c numba/_dispatcher.c -o build/temp.macosx-11.1-arm64-cpython-310/numba/_dispatcher.o" 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 numba
Running setup.py clean for numba
Building wheel for llvmlite (setup.py) ... error
error: subprocess-exited-with-error

× python setup.py bdist_wheel did not run successfully.
│ exit code: 1
╰─> [26 lines of output]
running bdist_wheel
/Users/jryon/miniconda3/envs/autocti/bin/python /private/var/folders/5y/70tct30n5m92rcy0h5hqzg2m0000gn/T/pip-install-hke2ivpc/llvmlite_6f7e6b5d09bc4a30b4666d2f147a048e/ffi/build.py
LLVM version... Traceback (most recent call last):
File "/private/var/folders/5y/70tct30n5m92rcy0h5hqzg2m0000gn/T/pip-install-hke2ivpc/llvmlite_6f7e6b5d09bc4a30b4666d2f147a048e/ffi/build.py", line 105, in main_posix
out = subprocess.check_output([llvm_config, '--version'])
File "/Users/jryon/miniconda3/envs/autocti/lib/python3.10/subprocess.py", line 421, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
File "/Users/jryon/miniconda3/envs/autocti/lib/python3.10/subprocess.py", line 503, in run
with Popen(*popenargs, **kwargs) as process:
File "/Users/jryon/miniconda3/envs/autocti/lib/python3.10/subprocess.py", line 971, in init
self._execute_child(args, executable, preexec_fn, close_fds,
File "/Users/jryon/miniconda3/envs/autocti/lib/python3.10/subprocess.py", line 1847, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'llvm-config'

  During handling of the above exception, another exception occurred:
  
  Traceback (most recent call last):
    File "/private/var/folders/5y/70tct30n5m92rcy0h5hqzg2m0000gn/T/pip-install-hke2ivpc/llvmlite_6f7e6b5d09bc4a30b4666d2f147a048e/ffi/build.py", line 191, in <module>
      main()
    File "/private/var/folders/5y/70tct30n5m92rcy0h5hqzg2m0000gn/T/pip-install-hke2ivpc/llvmlite_6f7e6b5d09bc4a30b4666d2f147a048e/ffi/build.py", line 185, in main
      main_posix('osx', '.dylib')
    File "/private/var/folders/5y/70tct30n5m92rcy0h5hqzg2m0000gn/T/pip-install-hke2ivpc/llvmlite_6f7e6b5d09bc4a30b4666d2f147a048e/ffi/build.py", line 107, in main_posix
      raise RuntimeError("%s failed executing, please point LLVM_CONFIG "
  RuntimeError: llvm-config failed executing, please point LLVM_CONFIG to the path for llvm-config
  error: command '/Users/jryon/miniconda3/envs/autocti/bin/python' failed with exit code 1
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for llvmlite
Running setup.py clean for llvmlite
Failed to build numba llvmlite
Installing collected packages: python-dateutil, llvmlite, kiwisolver, Jinja2, imagesize, idna, h5py, future, fonttools, exceptiongroup, emcee, docutils, dill, decorator, cycler, contourpy, charset-normalizer, babel, attrs, astunparse, requests, pytest, pandas, numba, matplotlib, autoconf, sphinx, seaborn, pyswarms, dynesty, corner, autoarray, zeus-mcmc, numpydoc, autofit, autocti
Running setup.py install for llvmlite ... error
error: subprocess-exited-with-error

× Running setup.py install for llvmlite did not run successfully.
│ exit code: 1
╰─> [31 lines of output]
running install
/Users/jryon/miniconda3/envs/autocti/lib/python3.10/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
running build
got version from file /private/var/folders/5y/70tct30n5m92rcy0h5hqzg2m0000gn/T/pip-install-hke2ivpc/llvmlite_6f7e6b5d09bc4a30b4666d2f147a048e/llvmlite/_version.py {'version': '0.34.0', 'full': 'c5889c9e98c6b19d5d85ebdd982d64a03931f8e2'}
running build_ext
/Users/jryon/miniconda3/envs/autocti/bin/python /private/var/folders/5y/70tct30n5m92rcy0h5hqzg2m0000gn/T/pip-install-hke2ivpc/llvmlite_6f7e6b5d09bc4a30b4666d2f147a048e/ffi/build.py
LLVM version... Traceback (most recent call last):
File "/private/var/folders/5y/70tct30n5m92rcy0h5hqzg2m0000gn/T/pip-install-hke2ivpc/llvmlite_6f7e6b5d09bc4a30b4666d2f147a048e/ffi/build.py", line 105, in main_posix
out = subprocess.check_output([llvm_config, '--version'])
File "/Users/jryon/miniconda3/envs/autocti/lib/python3.10/subprocess.py", line 421, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
File "/Users/jryon/miniconda3/envs/autocti/lib/python3.10/subprocess.py", line 503, in run
with Popen(*popenargs, **kwargs) as process:
File "/Users/jryon/miniconda3/envs/autocti/lib/python3.10/subprocess.py", line 971, in init
self._execute_child(args, executable, preexec_fn, close_fds,
File "/Users/jryon/miniconda3/envs/autocti/lib/python3.10/subprocess.py", line 1847, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'llvm-config'

  During handling of the above exception, another exception occurred:
  
  Traceback (most recent call last):
    File "/private/var/folders/5y/70tct30n5m92rcy0h5hqzg2m0000gn/T/pip-install-hke2ivpc/llvmlite_6f7e6b5d09bc4a30b4666d2f147a048e/ffi/build.py", line 191, in <module>
      main()
    File "/private/var/folders/5y/70tct30n5m92rcy0h5hqzg2m0000gn/T/pip-install-hke2ivpc/llvmlite_6f7e6b5d09bc4a30b4666d2f147a048e/ffi/build.py", line 185, in main
      main_posix('osx', '.dylib')
    File "/private/var/folders/5y/70tct30n5m92rcy0h5hqzg2m0000gn/T/pip-install-hke2ivpc/llvmlite_6f7e6b5d09bc4a30b4666d2f147a048e/ffi/build.py", line 107, in main_posix
      raise RuntimeError("%s failed executing, please point LLVM_CONFIG "
  RuntimeError: llvm-config failed executing, please point LLVM_CONFIG to the path for llvm-config
  error: command '/Users/jryon/miniconda3/envs/autocti/bin/python' failed with exit code 1
  [end of output]

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

× Encountered error while trying to install package.
╰─> llvmlite

note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.

Ok cool, numba is optional (may not have been on the version you are installing) so should be simple enough to fix.

I'll sort a release and let you know when I think everything should work...

pip install autocti-no-gsl

Let me know if you have more issues :)

This worked, thanks!

Sorry, spoke too soon. Installation worked, but I ran into an error with import autocti:

Python 3.10.8 | packaged by conda-forge | (main, Nov 22 2022, 08:27:35) [Clang 14.0.6 ] on darwin
Type "help", "copyright", "credits" or "license" for more information.

import autocti as ac
Traceback (most recent call last):
File "", line 1, in
File "/Users/ryon/miniconda3/envs/autocti/lib/python3.10/site-packages/autocti/init.py", line 19, in
from .charge_injection.fit import FitImagingCI
File "/Users/ryon/miniconda3/envs/autocti/lib/python3.10/site-packages/autocti/charge_injection/fit.py", line 8, in
from autocti.charge_injection.imaging.imaging import ImagingCI
File "/Users/ryon/miniconda3/envs/autocti/lib/python3.10/site-packages/autocti/charge_injection/imaging/imaging.py", line 6, in
from autocti.charge_injection.layout import Layout2DCI
File "/Users/ryon/miniconda3/envs/autocti/lib/python3.10/site-packages/autocti/charge_injection/layout.py", line 14, in
from autocti.layout.two_d import Layout2D
File "/Users/ryon/miniconda3/envs/autocti/lib/python3.10/site-packages/autocti/layout/two_d.py", line 7, in
from autocti import exc
File "/Users/ryon/miniconda3/envs/autocti/lib/python3.10/site-packages/autocti/exc.py", line 1, in
from autofit import exc
File "/Users/ryon/miniconda3/envs/autocti/lib/python3.10/site-packages/autofit/init.py", line 6, in
from .non_linear.grid.grid_search import GridSearch as SearchGridSearch
File "/Users/ryon/miniconda3/envs/autocti/lib/python3.10/site-packages/autofit/non_linear/grid/grid_search/init.py", line 10, in
from autofit.non_linear.abstract_search import NonLinearSearch
File "/Users/ryon/miniconda3/envs/autocti/lib/python3.10/site-packages/autofit/non_linear/abstract_search.py", line 18, in
from autofit.graphical import (
File "/Users/ryon/miniconda3/envs/autocti/lib/python3.10/site-packages/autofit/graphical/init.py", line 2, in
from .declarative.abstract import PriorFactor
File "/Users/ryon/miniconda3/envs/autocti/lib/python3.10/site-packages/autofit/graphical/declarative/abstract.py", line 7, in
from autofit.graphical.declarative.graph import DeclarativeFactorGraph
File "/Users/ryon/miniconda3/envs/autocti/lib/python3.10/site-packages/autofit/graphical/declarative/graph.py", line 5, in
from autofit.graphical.expectation_propagation.ep_mean_field import EPMeanField
File "/Users/ryon/miniconda3/envs/autocti/lib/python3.10/site-packages/autofit/graphical/expectation_propagation/init.py", line 3, in
from .optimiser import AbstractFactorOptimiser
File "/Users/ryon/miniconda3/envs/autocti/lib/python3.10/site-packages/autofit/graphical/expectation_propagation/optimiser.py", line 20, in
from .visualise import Visualise
File "/Users/ryon/miniconda3/envs/autocti/lib/python3.10/site-packages/autofit/graphical/expectation_propagation/visualise.py", line 5, in
import matplotlib.pyplot as plt
File "/Users/ryon/miniconda3/envs/autocti/lib/python3.10/site-packages/matplotlib/init.py", line 113, in
from . import _api, _version, cbook, _docstring, rcsetup
File "/Users/ryon/miniconda3/envs/autocti/lib/python3.10/site-packages/matplotlib/rcsetup.py", line 27, in
from matplotlib.colors import Colormap, is_color_like
File "/Users/ryon/miniconda3/envs/autocti/lib/python3.10/site-packages/matplotlib/colors.py", line 51, in
from PIL import Image
File "/Users/ryon/miniconda3/envs/autocti/lib/python3.10/site-packages/PIL/Image.py", line 100, in
from . import _imaging as core
ImportError: dlopen(/Users/ryon/miniconda3/envs/autocti/lib/python3.10/site-packages/PIL/_imaging.cpython-310-darwin.so, 2): Library not loaded: @rpath/libtiff.5.dylib
Referenced from: /Users/ryon/miniconda3/envs/autocti/lib/python3.10/site-packages/PIL/_imaging.cpython-310-darwin.so
Reason: image not found

Sounds like a missing dependency.

Try:

conda install libtiff

@rhayes777 Thanks, I tried installing libtiff, but then got another error related to numba (which I'd installed after autocti-no-gsl). I decided to start from scratch with a fresh environment, and ran into a few issues related to python versions. The versions of scipy required for autocti-no-gsl appear to be incompatible with python 3.11, so I chose (rather arbitrarily) python 3.9, and the install proceeded smoothly. The welcome.py script executed without any trouble. Here are the steps I used:

conda create -n autocti python=3.9
conda activate autocti
pip install arcticpy_no_gsl
pip install autocti-no-gsl
pip install numba

Great so everything is working fine? I don't think we support Python 3.11 @Jammy2211 ? It might be worth us making that clear in the documentation

Yes, I've now run several of the notebooks in the autocti-workspace and everything looks good. Thanks for your help!

Great thanks. I'll close the issue.