ellc icon indicating copy to clipboard operation
ellc copied to clipboard

numpy.distutils not compatible with python version>=3.12

Open nmiller95 opened this issue 1 year ago • 7 comments

Hi! Tried to install ellc in python 3.12 and it failed since numpy.distutils has been removed for the newest python versions - https://numpy.org/doc/stable/reference/distutils.html. It still imports OK in a v3.11 environment but might need attention soon!

nmiller95 avatar Jul 29 '24 09:07 nmiller95

I also got the same failure when installing ellc in python 3.12. It would be good to fix this version incompatibility issue.

zhang-zhixiang avatar Aug 16 '24 02:08 zhang-zhixiang

Thank you for making this significant update, @zhang-zhixiang! I have tested it on my M4 Mac Mini with Python 12, and it works perfectly. It should also work for other M-series chips (M1, M2, and M3).

The general installation procedure for Mac with M-series chips is as follows:

### Install gfortran via Homebrew
brew install gfortran

### Install the latest version of ellc (now, it is 1.8.11)
pip install git+https://github.com/pmaxted/ellc.git

And, @pmaxted, if you need me to perform any additional tests, feel free to let me know!

Best, Xian-Yu

wangxianyu7 avatar Nov 21 '24 03:11 wangxianyu7

Hello, when will this be available in general release on pypi? I am using ellc as a dependency for another package and can't include dependencies pointing to git repositories.

martindevora avatar Apr 27 '25 07:04 martindevora

The package distribution for ellc is broken now that numpy.distutils is deprecated. I cannot now build the package to upload it to pypi. I do not know how to fix this so it is unclear when the next version will be released on pypi.

If you know how to fix the following error, then please let me know ...

Creating tar archive
removing 'ellc-1.8.11' (and everything under it)
* Building wheel from sdist
* Creating isolated environment: venv+pip...
* Installing packages in isolated environment:
  - setuptools >= 40.8.0
* Getting build dependencies for wheel...
make: *** No targets specified and no makefile found.  Stop.
Traceback (most recent call last):
  File "/Users/pflm/miniconda3/lib/python3.11/site-packages/pyproject_hooks/_in_process/_in_process.py", line 373, in <module>
    main()
  File "/Users/pflm/miniconda3/lib/python3.11/site-packages/pyproject_hooks/_in_process/_in_process.py", line 357, in main
    json_out["return_val"] = hook(**hook_input["kwargs"])
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/pflm/miniconda3/lib/python3.11/site-packages/pyproject_hooks/_in_process/_in_process.py", line 134, in get_requires_for_build_wheel
    return hook(config_settings)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/private/var/folders/dl/tc85r2_j2v94kqhby3hvz4n00000gn/T/build-env-x9hwubxl/lib/python3.11/site-packages/setuptools/build_meta.py", line 331, in get_requires_for_build_wheel
    return self._get_build_requires(config_settings, requirements=[])
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/private/var/folders/dl/tc85r2_j2v94kqhby3hvz4n00000gn/T/build-env-x9hwubxl/lib/python3.11/site-packages/setuptools/build_meta.py", line 301, in _get_build_requires
    self.run_setup()
  File "/private/var/folders/dl/tc85r2_j2v94kqhby3hvz4n00000gn/T/build-env-x9hwubxl/lib/python3.11/site-packages/setuptools/build_meta.py", line 512, in run_setup
    super().run_setup(setup_script=setup_script)
  File "/private/var/folders/dl/tc85r2_j2v94kqhby3hvz4n00000gn/T/build-env-x9hwubxl/lib/python3.11/site-packages/setuptools/build_meta.py", line 317, in run_setup
    exec(code, locals())
  File "<string>", line 28, in <module>
  File "<string>", line 13, in configuration
  File "<string>", line 8, in run_make
  File "/Users/pflm/miniconda3/lib/python3.11/subprocess.py", line 413, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['make']' returned non-zero exit status 2.

ERROR Backend subprocess exited when trying to invoke get_requires_for_build_wheel

pmaxted avatar May 09 '25 14:05 pmaxted

Hello, I uploaded one version from my custom fork here https://pypi.org/project/ellk/. I can create a pull request from my fork

martindevora avatar May 09 '25 16:05 martindevora

Here it is https://github.com/pmaxted/ellc/pull/20/files

martindevora avatar May 09 '25 16:05 martindevora

Thanks. Version 1.8.11 now available on pypi

pmaxted avatar May 09 '25 22:05 pmaxted