Unable to install thinc on Mac M3. Any input experts?
Using cached spacy-3.8.2.tar.gz (1.3 MB)
...
Building wheels for collected packages: thinc
Building wheel for thinc (pyproject.toml): started
Building wheel for thinc (pyproject.toml): finished with status 'error'
error: subprocess-exited-with-error
× Building wheel for thinc (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [383 lines of output]
Cythonizing sources
running bdist_wheel
running build
running build_py
creating build/lib.macosx-10.13-universal2-cpython-313/thinc
=Versions/3.13/include/python3.13/Python.h won't be automatically included in the manifest: the path must be relative
dependency /private/var/folders/wy/tp92t7_s27lgtszstrzhxl4w0000gn/T/pip-build-env-5k8ewgz5/overlay/lib/python3.13/site-packages/numpy/_core/include/numpy/arrayobject.h won't be automatically included in the manifest: the path must be relative
dependency /private/var/folders/wy/tp92t7_s27lgtszstrzhxl4w0000gn/T/pip-build-env-5k8ewgz5/overlay/lib/python3.13/site-packages/numpy/_core/include/numpy/arrayscalars.h won't be automatically included in the manifest: the path must be relative
dependency /private/var/folders/wy/tp92t7_s27lgtszstrzhxl4w0000gn/T/pip-build-env-5k8ewgz5/overlay/lib/python3.13/site-packages/numpy/_core/include/numpy/ndarrayobject.h won't be automatically included in the manifest: the path must be relative
dependency /private/var/folders/wy/tp92t7_s27lgtszstrzhxl4w0000gn/T/pip-build-env-5k8ewgz5/overlay/lib/python3.13/site-packages/numpy/_core/include/numpy/ndarraytypes.h won't be automatically included in the manifest: the path must be relative
dependency /private/var/folders/wy/tp92t7_s27lgtszstrzhxl4w0000gn/T/pip-build-env-5k8ewgz5/overlay/lib/python3.13/site-packages/numpy/_core/include/numpy/ufuncobject.h won't be automatically included in the manifest: the path must be relative
reading manifest file 'thinc.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
no previously-included directories found matching 'tmp'
adding license file 'LICENSE'
writing manifest file 'thinc.egg-info/SOURCES.txt'
/private/var/folders/wy/tp92t7_s27lgtszstrzhxl4w0000gn/T/pip-build-env-5k8ewgz5/overlay/lib/python3.13/site-packages/setuptools/command/build_py.py:212: _Warning: Package 'thinc.tests.mypy.configs' is absent from the `packages` configuration.
!!
********************************************************************************
############################
# Package would be ignored #
############################
Python recognizes 'thinc.tests.mypy.configs' 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 'thinc.tests.mypy.configs' 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 'thinc.tests.mypy.configs' to be distributed and are
already explicitly excluding 'thinc.tests.mypy.configs' 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)
/private/var/folders/wy/tp92t7_s27lgtszstrzhxl4w0000gn/T/pip-build-env-5k8ewgz5/overlay/lib/python3.13/site-packages/setuptools/command/build_py.py:212: _Warning: Package 'thinc.tests.mypy.outputs' is absent from the `packages` configuration.
!!
********************************************************************************
############################
# Package would be ignored #
############################
Python recognizes 'thinc.tests.mypy.outputs' 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 'thinc.tests.mypy.outputs' 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 'thinc.tests.mypy.outputs' to be distributed and are
already explicitly excluding 'thinc.tests.mypy.outputs' 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 thinc/__init__.pxd -> build/lib.macosx-10.13-universal2-cpython-313/thinc
copying thinc/py.typed -> build/lib.macosx-10.13-universal2-cpython-313/thinc
copying thinc/layers/premap_ids.pyx -> build/lib.macosx-10.13-universal2-cpython-313/thinc/layers
copying thinc/layers/sparselinear.pyx -> build/lib.macosx-10.13-universal2-cpython-313/thinc/layers
copying thinc/backends/__init__.pxd -> build/lib.macosx-10.13-universal2-cpython-313/thinc/backends
copying thinc/backends/_custom_kernels.cu -> build/lib.macosx-10.13-universal2-cpython-313/thinc/backends
copying thinc/backends/_murmur3.cu -> build/lib.macosx-10.13-universal2-cpython-313/thinc/backends
copying thinc/backends/cblas.pxd -> build/lib.macosx-10.13-universal2-cpython-313/thinc/backends
copying thinc/backends/cblas.pyx -> build/lib.macosx-10.13-universal2-cpython-313/thinc/backends
copying thinc/backends/cpu_kernels.hh -> build/lib.macosx-10.13-universal2-cpython-313/thinc/backends
copying thinc/backends/linalg.pxd -> build/lib.macosx-10.13-universal2-cpython-313/thinc/backends
copying thinc/backends/linalg.pyx -> build/lib.macosx-10.13-universal2-cpython-313/thinc/backends
copying thinc/backends/numpy_ops.pxd -> build/lib.macosx-10.13-universal2-cpython-313/thinc/backends
copying thinc/backends/numpy_ops.pyx -> build/lib.macosx-10.13-universal2-cpython-313/thinc/backends
copying thinc/extra/__init__.pxd -> build/lib.macosx-10.13-universal2-cpython-313/thinc/extra
copying thinc/extra/search.pxd -> build/lib.macosx-10.13-universal2-cpython-313/thinc/extra
copying thinc/extra/search.pyx -> build/lib.macosx-10.13-universal2-cpython-313/thinc/extra
creating build/lib.macosx-10.13-universal2-cpython-313/thinc/tests/mypy/configs
copying thinc/tests/mypy/configs/mypy-default.ini -> build/lib.macosx-10.13-universal2-cpython-313/thinc/tests/mypy/configs
copying thinc/tests/mypy/configs/mypy-plugin.ini -> build/lib.macosx-10.13-universal2-cpython-313/thinc/tests/mypy/configs
creating build/lib.macosx-10.13-universal2-cpython-313/thinc/tests/mypy/outputs
copying thinc/tests/mypy/outputs/fail-no-plugin.txt -> build/lib.macosx-10.13-universal2-cpython-313/thinc/tests/mypy/outputs
copying thinc/tests/mypy/outputs/fail-plugin.txt -> build/lib.macosx-10.13-universal2-cpython-313/thinc/tests/mypy/outputs
copying thinc/tests/mypy/outputs/success-no-plugin.txt -> build/lib.macosx-10.13-universal2-cpython-313/thinc/tests/mypy/outputs
copying thinc/tests/mypy/outputs/success-plugin.txt -> build/lib.macosx-10.13-universal2-cpython-313/thinc/tests/mypy/outputs
copying thinc/extra/tests/c_test_search.pyx -> build/lib.macosx-10.13-universal2-cpython-313/thinc/extra/tests
running build_ext
building 'thinc.backends.cblas' extension
creating build/temp.macosx-10.13-universal2-cpython-313/thinc/backends
clang++ -fno-strict-overflow -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -O3 -Wall -arch arm64 -arch x86_64 -I/private/var/folders/wy/tp92t7_s27lgtszstrzhxl4w0000gn/T/pip-build-env-5k8ewgz5/overlay/lib/python3.13/site-packages/numpy/_core/include -I/Library/Frameworks/Python.framework/Versions/3.13/include/python3.13 -I/Users/I072857/Documents/git/gstack/gstack_env/include -I/Library/Frameworks/Python.framework/Versions/3.13/include/python3.13 -c thinc/backends/cblas.cpp -o build/temp.macosx-10.13-universal2-cpython-313/thinc/backends/cblas.o -O3 -Wno-strict-prototypes -Wno-unused-function -std=c++11
thinc/backends/cblas.cpp:871:59: warning: 'Py_UNICODE' is deprecated [-Wdeprecated-declarations]
871 | static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) {
| ^
/Library/Frameworks/Python.framework/Versions/3.13/include/python3.13/cpython/unicodeobject.h:10:1: note: 'Py_UNICODE' has been explicitly marked deprecated here
10 | Py_DEPRECATED(3.13) typedef wchar_t Py_UNICODE;
| ^
/Library/Frameworks/Python.framework/Versions/3.13/include/python3.13/pyport.h:251:54: note: expanded from macro 'Py_DEPRECATED'
251 | #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
| ^
thinc/backends/cblas.cpp:872:11: warning: 'Py_UNICODE' is deprecated [-Wdeprecated-declarations]
872 | const Py_UNICODE *u_end = u;
| ^
/Library/Frameworks/Python.framework/Versions/3.13/include/python3.13/cpython/unicodeobject.h:10:1: note: 'Py_UNICODE' has been explicitly marked deprecated here
10 | Py_DEPRECATED(3.13) typedef wchar_t Py_UNICODE;
| ^
/Library/Frameworks/Python.framework/Versions/3.13/include/python3.13/pyport.h:251:54: note: expanded from macro 'Py_DEPRECATED'
251 | #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
| ^
thinc/backends/cblas.cpp:1908:22: error: use of undeclared identifier '_PyList_Extend'; did you mean 'PyList_Extend'?
1908 | PyObject* none = _PyList_Extend((PyListObject*)L, v);
| ^~~~~~~~~~~~~~
| PyList_Extend
/Library/Frameworks/Python.framework/Versions/3.13/include/python3.13/cpython/listobject.h:52:17: note: 'PyList_Extend' declared here
52 | PyAPI_FUNC(int) PyList_Extend(PyObject *self, PyObject *iterable);
| ^
thinc/backends/cblas.cpp:1908:37: error: cannot initialize a parameter of type 'PyObject *' (aka '_object *') with an rvalue of type 'PyListObject *'
1908 | PyObject* none = _PyList_Extend((PyListObject*)L, v);
| ^~~~~~~~~~~~~~~~
/Library/Frameworks/Python.framework/Versions/3.13/include/python3.13/cpython/listobject.h:52:41: note: passing argument to parameter 'self' here
52 | PyAPI_FUNC(int) PyList_Extend(PyObject *self, PyObject *iterable);
| ^
thinc/backends/cblas.cpp:1946:39: error: use of undeclared identifier '_PyInterpreterState_GetConfig'
1946 | __pyx_assertions_enabled_flag = ! _PyInterpreterState_GetConfig(__Pyx_PyThreadState_Current->interp)->optimization_level;
| ^
thinc/backends/cblas.cpp:20354:27: error: no matching function for call to '_PyLong_AsByteArray'
20354 | int ret = _PyLong_AsByteArray((PyLongObject *)v,
| ^~~~~~~~~~~~~~~~~~~
/Library/Frameworks/Python.framework/Versions/3.13/include/python3.13/cpython/longobject.h:111:17: note: candidate function not viable: requires 6 arguments, but 5 were provided
111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
| ^ ~~~~~~~~~~~~~~~~
112 | unsigned char* bytes, size_t n,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
113 | int little_endian, int is_signed, int with_exceptions);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
thinc/backends/cblas.cpp:20550:27: error: no matching function for call to '_PyLong_AsByteArray'
20550 | int ret = _PyLong_AsByteArray((PyLongObject *)v,
| ^~~~~~~~~~~~~~~~~~~
/Library/Frameworks/Python.framework/Versions/3.13/include/python3.13/cpython/longobject.h:111:17: note: candidate function not viable: requires 6 arguments, but 5 were provided
111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
| ^ ~~~~~~~~~~~~~~~~
112 | unsigned char* bytes, size_t n,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
113 | int little_endian, int is_signed, int with_exceptions);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
thinc/backends/cblas.cpp:20822:27: error: no matching function for call to '_PyLong_AsByteArray'
20822 | int ret = _PyLong_AsByteArray((PyLongObject *)v,
| ^~~~~~~~~~~~~~~~~~~
/Library/Frameworks/Python.framework/Versions/3.13/include/python3.13/cpython/longobject.h:111:17: note: candidate function not viable: requires 6 arguments, but 5 were provided
111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
| ^ ~~~~~~~~~~~~~~~~
112 | unsigned char* bytes, size_t n,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
113 | int little_endian, int is_signed, int with_exceptions);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 warnings and 6 errors generated.
error: command '/usr/bin/clang++' 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 thinc
Failed to build thinc
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (thinc)
[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.