developmentseed / eoapi-template

Template repository to deploy eoapi application using eoapi-cdk constructs on AWS.
https://eoapi.dev
4 stars 1 forks source link

ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (numexpr) #28

Open XinboEddie opened 3 months ago

XinboEddie commented 3 months ago

when running npx cdk synth -all, the following error appeared:

× Building wheel for numexpr (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [136 lines of output]
/tmp/pip-build-env-tbj4ezmn/overlay/lib/python3.11/site-packages/setuptools/config/_apply_pyprojecttoml.py:79: SetuptoolsWarning: `install_requires` overwritten in `pyproject.toml` (dependencies)
corresp(dist, value, root_dir)
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-cpython-311
creating build/lib.linux-x86_64-cpython-311/numexpr
copying numexpr/utils.py -> build/lib.linux-x86_64-cpython-311/numexpr
copying numexpr/expressions.py -> build/lib.linux-x86_64-cpython-311/numexpr
copying numexpr/version.py -> build/lib.linux-x86_64-cpython-311/numexpr
copying numexpr/cpuinfo.py -> build/lib.linux-x86_64-cpython-311/numexpr
copying numexpr/__init__.py -> build/lib.linux-x86_64-cpython-311/numexpr
copying numexpr/necompiler.py -> build/lib.linux-x86_64-cpython-311/numexpr
running egg_info
writing numexpr.egg-info/PKG-INFO
writing dependency_links to numexpr.egg-info/dependency_links.txt
writing requirements to numexpr.egg-info/requires.txt
writing top-level names to numexpr.egg-info/top_level.txt
reading manifest file 'numexpr.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files found matching 'numexpr/__config__.py'
warning: no previously-included files found matching 'RELEASING.txt'
warning: no previously-included files found matching 'site.cfg'
adding license file 'LICENSE.txt'
adding license file 'AUTHORS.txt'
writing manifest file 'numexpr.egg-info/SOURCES.txt'
/tmp/pip-build-env-tbj4ezmn/overlay/lib/python3.11/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'numexpr.tests' is absent from the `packages` configuration.
!!

********************************************************************************
############################
# Package would be ignored #
############################
Python recognizes 'numexpr.tests' as an importable package[^1],
but it is absent from setuptools' `packages` configuration.

This leads to an ambiguous overall configuration. If you want to distribute this
package, please make sure that 'numexpr.tests' is explicitly added
to the `packages` configuration field.

Alternatively, you can also rely on setuptools' discovery methods
(for example by using `find_namespace_packages(...)`/`find_namespace:`
instead of `find_packages(...)`/`find:`).

You can read more about "package discovery" on setuptools documentation page:

- https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

If you don't want 'numexpr.tests' to be distributed and are
already explicitly excluding 'numexpr.tests' via
`find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
you can try to use `exclude_package_data`, or `include-package-data=False` in
combination with a more fine grained `package-data` configuration.

You can read more about "package data files" on setuptools documentation page:

- https://setuptools.pypa.io/en/latest/userguide/datafiles.html

[^1]: For Python, any directory (with suitable naming) can be imported,
even if it does not contain any `.py` files.
On the other hand, currently there is no concept of package data
directory, all directories are treated like packages.
********************************************************************************

!!
check.warn(importable)
/tmp/pip-build-env-tbj4ezmn/overlay/lib/python3.11/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'numexpr.win32' is absent from the `packages` configuration.
!!

********************************************************************************
############################
# Package would be ignored #
############################
Python recognizes 'numexpr.win32' as an importable package[^1],
but it is absent from setuptools' `packages` configuration.

This leads to an ambiguous overall configuration. If you want to distribute this
package, please make sure that 'numexpr.win32' is explicitly added
to the `packages` configuration field.

Alternatively, you can also rely on setuptools' discovery methods
(for example by using `find_namespace_packages(...)`/`find_namespace:`
instead of `find_packages(...)`/`find:`).

You can read more about "package discovery" on setuptools documentation page:

- https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

If you don't want 'numexpr.win32' to be distributed and are
already explicitly excluding 'numexpr.win32' via
`find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
you can try to use `exclude_package_data`, or `include-package-data=False` in
combination with a more fine grained `package-data` configuration.

You can read more about "package data files" on setuptools documentation page:

- https://setuptools.pypa.io/en/latest/userguide/datafiles.html

[^1]: For Python, any directory (with suitable naming) can be imported,
even if it does not contain any `.py` files.
On the other hand, currently there is no concept of package data
directory, all directories are treated like packages.
********************************************************************************

!!
check.warn(importable)
copying numexpr/complex_functions.hpp -> build/lib.linux-x86_64-cpython-311/numexpr
copying numexpr/functions.hpp -> build/lib.linux-x86_64-cpython-311/numexpr
copying numexpr/interp_body.cpp -> build/lib.linux-x86_64-cpython-311/numexpr
copying numexpr/interpreter.cpp -> build/lib.linux-x86_64-cpython-311/numexpr
copying numexpr/interpreter.hpp -> build/lib.linux-x86_64-cpython-311/numexpr
copying numexpr/missing_posix_functions.hpp -> build/lib.linux-x86_64-cpython-311/numexpr
copying numexpr/module.cpp -> build/lib.linux-x86_64-cpython-311/numexpr
copying numexpr/module.hpp -> build/lib.linux-x86_64-cpython-311/numexpr
copying numexpr/msvc_function_stubs.hpp -> build/lib.linux-x86_64-cpython-311/numexpr
copying numexpr/numexpr_config.hpp -> build/lib.linux-x86_64-cpython-311/numexpr
copying numexpr/numexpr_object.cpp -> build/lib.linux-x86_64-cpython-311/numexpr
copying numexpr/numexpr_object.hpp -> build/lib.linux-x86_64-cpython-311/numexpr
copying numexpr/opcodes.hpp -> build/lib.linux-x86_64-cpython-311/numexpr
copying numexpr/str-two-way.hpp -> build/lib.linux-x86_64-cpython-311/numexpr
creating build/lib.linux-x86_64-cpython-311/numexpr/tests
copying numexpr/tests/__init__.py -> build/lib.linux-x86_64-cpython-311/numexpr/tests
copying numexpr/tests/test_numexpr.py -> build/lib.linux-x86_64-cpython-311/numexpr/tests
creating build/lib.linux-x86_64-cpython-311/numexpr/win32
copying numexpr/win32/pthread.c -> build/lib.linux-x86_64-cpython-311/numexpr/win32
copying numexpr/win32/pthread.h -> build/lib.linux-x86_64-cpython-311/numexpr/win32
copying numexpr/win32/stdint.h -> build/lib.linux-x86_64-cpython-311/numexpr/win32
running build_ext
building 'numexpr.interpreter' extension
creating build/temp.linux-x86_64-cpython-311
creating build/temp.linux-x86_64-cpython-311/numexpr
gcc -pthread -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -DNPY_TARGET_VERSION=NPY_1_23_API_VERSION -I/tmp/pip-build-env-tbj4ezmn/overlay/lib/python3.11/site-packages/numpy/_core/include -I/var/lang/include/python3.11 -c numexpr/interpreter.cpp -o build/temp.linux-x86_64-cpython-311/numexpr/interpreter.o
error: command 'gcc' failed: No such file or directory
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for numexpr
Failed to build numexpr
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (numexpr)
BaikalDragon commented 2 months ago

I meet the same error, do you have some ideas about it?