MACOS源码安装,依赖库安装错误:ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (multidict)

老师您好:

1、版本2.4.0 

2、macos源码安装 

3、pip3 install -r requirements.txt --no-deps 安装依赖报错 日志如下:

Building wheels for collected packages: multidict

  Building wheel for multidict (pyproject.toml) ... error

  error: subprocess-exited-with-error

  

  × Building wheel for multidict (pyproject.toml) did not run successfully.

  │ exit code: 1

  ╰─> [200 lines of output]

      *********************

      * Accelerated build *

      *********************

      running bdist_wheel

      running build

      running build_py

      creating build

      creating build/lib.macosx-14.0-arm64-cpython-312

      creating build/lib.macosx-14.0-arm64-cpython-312/multidict

      copying multidict/_multidict_py.py -> build/lib.macosx-14.0-arm64-cpython-312/multidict

      copying multidict/_abc.py -> build/lib.macosx-14.0-arm64-cpython-312/multidict

      copying multidict/__init__.py -> build/lib.macosx-14.0-arm64-cpython-312/multidict

      copying multidict/_multidict_base.py -> build/lib.macosx-14.0-arm64-cpython-312/multidict

      copying multidict/_compat.py -> build/lib.macosx-14.0-arm64-cpython-312/multidict

      running egg_info

      writing multidict.egg-info/PKG-INFO

      writing dependency_links to multidict.egg-info/dependency_links.txt

      writing top-level names to multidict.egg-info/top_level.txt

      reading manifest file 'multidict.egg-info/SOURCES.txt'

      reading manifest template 'MANIFEST.in'

      warning: no previously-included files matching '*.pyc' found anywhere in distribution

      warning: no previously-included files found matching 'multidict/_multidict.html'

      warning: no previously-included files found matching 'multidict/*.so'

      warning: no previously-included files found matching 'multidict/*.pyd'

      warning: no previously-included files found matching 'multidict/*.pyd'

      no previously-included directories found matching 'docs/_build'

      adding license file 'LICENSE'

      writing manifest file 'multidict.egg-info/SOURCES.txt'

      /private/var/folders/hd/w1h5x6317f512l5l3znqcgwm0000gn/T/pip-build-env-26iaixkx/overlay/lib/python3.12/site-packages/setuptools/command/build_py.py:218: _Warning: Package 'multidict._multilib' is absent from the `packages` configuration.

      !!

      

              ********************************************************************************

              ############################

              # Package would be ignored #

              ############################

              Python recognizes 'multidict._multilib' 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 'multidict._multilib' 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 'multidict._multilib' to be distributed and are

              already explicitly excluding 'multidict._multilib' 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 multidict/__init__.pyi -> build/lib.macosx-14.0-arm64-cpython-312/multidict

      copying multidict/py.typed -> build/lib.macosx-14.0-arm64-cpython-312/multidict

      running build_ext

      building 'multidict._multidict' extension

      creating build/temp.macosx-14.0-arm64-cpython-312

      creating build/temp.macosx-14.0-arm64-cpython-312/multidict

      clang -fno-strict-overflow -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -I/Users/kaven/dev/workspase/python/pyvideotrans-main/.venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.12/include/python3.12 -c multidict/_multidict.c -o build/temp.macosx-14.0-arm64-cpython-312/multidict/_multidict.o -O2 -std=c99 -Wall -Wsign-compare -Wconversion -fno-strict-aliasing -pedantic

      In file included from multidict/_multidict.c:9:

      multidict/_multilib/iter.h:225:20: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes]

      multidict_iter_init()

                         ^

                          void

      In file included from multidict/_multidict.c:10:

      multidict/_multilib/views.h:388:21: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes]

      multidict_views_init()

                          ^

                           void

      multidict/_multidict.c:458:37: error: incompatible pointer to integer conversion initializing 'int' with an expression of type 'void *' [-Wint-conversion]

          static _PyArg_Parser _parser = {NULL, _keywords, "getall", 0};

                                          ^~~~

      /Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/stddef.h:89:16: note: expanded from macro 'NULL'

      #  define NULL ((void*)0)

                     ^~~~~~~~~~

      multidict/_multidict.c:458:43: warning: incompatible pointer types initializing 'const char *' with an expression of type 'const char *const[3]' [-Wincompatible-pointer-types]

          static _PyArg_Parser _parser = {NULL, _keywords, "getall", 0};

                                                ^~~~~~~~~

      multidict/_multidict.c:458:54: warning: incompatible pointer types initializing 'const char *const *' with an expression of type 'char[7]' [-Wincompatible-pointer-types]

          static _PyArg_Parser _parser = {NULL, _keywords, "getall", 0};

                                                           ^~~~~~~~

      multidict/_multidict.c:503:37: error: incompatible pointer to integer conversion initializing 'int' with an expression of type 'void *' [-Wint-conversion]

          static _PyArg_Parser _parser = {NULL, _keywords, "getone", 0};

                                          ^~~~

      /Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/stddef.h:89:16: note: expanded from macro 'NULL'

      #  define NULL ((void*)0)

                     ^~~~~~~~~~

      multidict/_multidict.c:503:43: warning: incompatible pointer types initializing 'const char *' with an expression of type 'const char *const[3]' [-Wincompatible-pointer-types]

          static _PyArg_Parser _parser = {NULL, _keywords, "getone", 0};

                                                ^~~~~~~~~

      multidict/_multidict.c:503:54: warning: incompatible pointer types initializing 'const char *const *' with an expression of type 'char[7]' [-Wincompatible-pointer-types]

          static _PyArg_Parser _parser = {NULL, _keywords, "getone", 0};

                                                           ^~~~~~~~

      multidict/_multidict.c:538:37: error: incompatible pointer to integer conversion initializing 'int' with an expression of type 'void *' [-Wint-conversion]

          static _PyArg_Parser _parser = {NULL, _keywords, "get", 0};

                                          ^~~~

      /Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/stddef.h:89:16: note: expanded from macro 'NULL'

      #  define NULL ((void*)0)

                     ^~~~~~~~~~

      multidict/_multidict.c:538:43: warning: incompatible pointer types initializing 'const char *' with an expression of type 'const char *const[3]' [-Wincompatible-pointer-types]

          static _PyArg_Parser _parser = {NULL, _keywords, "get", 0};

                                                ^~~~~~~~~

      multidict/_multidict.c:538:54: warning: incompatible pointer types initializing 'const char *const *' with an expression of type 'char[4]' [-Wincompatible-pointer-types]

          static _PyArg_Parser _parser = {NULL, _keywords, "get", 0};

                                                           ^~~~~

      multidict/_multidict.c:712:5: warning: 'UsingDeprecatedTrashcanMacro' is deprecated [-Wdeprecated-declarations]

          Py_TRASHCAN_SAFE_BEGIN(self);

          ^

      /opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.12/include/python3.12/cpython/object.h:551:9: note: expanded from macro 'Py_TRASHCAN_SAFE_BEGIN'

              UsingDeprecatedTrashcanMacro cond=1; \

              ^

      /opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.12/include/python3.12/cpython/object.h:548:1: note: 'UsingDeprecatedTrashcanMacro' has been explicitly marked deprecated here

      Py_DEPRECATED(3.11) typedef int UsingDeprecatedTrashcanMacro;

      ^

      /opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.12/include/python3.12/pyport.h:317:54: note: expanded from macro 'Py_DEPRECATED'

      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))

                                                           ^

      multidict/_multidict.c:780:37: error: incompatible pointer to integer conversion initializing 'int' with an expression of type 'void *' [-Wint-conversion]

          static _PyArg_Parser _parser = {NULL, _keywords, "add", 0};

                                          ^~~~

      /Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/stddef.h:89:16: note: expanded from macro 'NULL'

      #  define NULL ((void*)0)

                     ^~~~~~~~~~

      multidict/_multidict.c:780:43: warning: incompatible pointer types initializing 'const char *' with an expression of type 'const char *const[3]' [-Wincompatible-pointer-types]

          static _PyArg_Parser _parser = {NULL, _keywords, "add", 0};

                                                ^~~~~~~~~

      multidict/_multidict.c:780:54: warning: incompatible pointer types initializing 'const char *const *' with an expression of type 'char[4]' [-Wincompatible-pointer-types]

          static _PyArg_Parser _parser = {NULL, _keywords, "add", 0};

                                                           ^~~~~

      multidict/_multidict.c:839:37: error: incompatible pointer to integer conversion initializing 'int' with an expression of type 'void *' [-Wint-conversion]

          static _PyArg_Parser _parser = {NULL, _keywords, "setdefault", 0};

                                          ^~~~

      /Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/stddef.h:89:16: note: expanded from macro 'NULL'

      #  define NULL ((void*)0)

                     ^~~~~~~~~~

      multidict/_multidict.c:839:43: warning: incompatible pointer types initializing 'const char *' with an expression of type 'const char *const[3]' [-Wincompatible-pointer-types]

          static _PyArg_Parser _parser = {NULL, _keywords, "setdefault", 0};

                                                ^~~~~~~~~

      multidict/_multidict.c:839:54: warning: incompatible pointer types initializing 'const char *const *' with an expression of type 'char[11]' [-Wincompatible-pointer-types]

          static _PyArg_Parser _parser = {NULL, _keywords, "setdefault", 0};

                                                           ^~~~~~~~~~~~

      multidict/_multidict.c:875:37: error: incompatible pointer to integer conversion initializing 'int' with an expression of type 'void *' [-Wint-conversion]

          static _PyArg_Parser _parser = {NULL, _keywords, "popone", 0};

                                          ^~~~

      /Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/stddef.h:89:16: note: expanded from macro 'NULL'

      #  define NULL ((void*)0)

                     ^~~~~~~~~~

      multidict/_multidict.c:875:43: warning: incompatible pointer types initializing 'const char *' with an expression of type 'const char *const[3]' [-Wincompatible-pointer-types]

          static _PyArg_Parser _parser = {NULL, _keywords, "popone", 0};

                                                ^~~~~~~~~

      multidict/_multidict.c:875:54: warning: incompatible pointer types initializing 'const char *const *' with an expression of type 'char[7]' [-Wincompatible-pointer-types]

          static _PyArg_Parser _parser = {NULL, _keywords, "popone", 0};

                                                           ^~~~~~~~

      multidict/_multidict.c:922:37: error: incompatible pointer to integer conversion initializing 'int' with an expression of type 'void *' [-Wint-conversion]

          static _PyArg_Parser _parser = {NULL, _keywords, "pop", 0};

                                          ^~~~

      /Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/stddef.h:89:16: note: expanded from macro 'NULL'

      #  define NULL ((void*)0)

                     ^~~~~~~~~~

      multidict/_multidict.c:922:43: warning: incompatible pointer types initializing 'const char *' with an expression of type 'const char *const[3]' [-Wincompatible-pointer-types]

          static _PyArg_Parser _parser = {NULL, _keywords, "pop", 0};

                                                ^~~~~~~~~

      multidict/_multidict.c:922:54: warning: incompatible pointer types initializing 'const char *const *' with an expression of type 'char[4]' [-Wincompatible-pointer-types]

          static _PyArg_Parser _parser = {NULL, _keywords, "pop", 0};

                                                           ^~~~~

      multidict/_multidict.c:970:37: error: incompatible pointer to integer conversion initializing 'int' with an expression of type 'void *' [-Wint-conversion]

          static _PyArg_Parser _parser = {NULL, _keywords, "popall", 0};

                                          ^~~~

      /Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/stddef.h:89:16: note: expanded from macro 'NULL'

      #  define NULL ((void*)0)

                     ^~~~~~~~~~

      multidict/_multidict.c:970:43: warning: incompatible pointer types initializing 'const char *' with an expression of type 'const char *const[3]' [-Wincompatible-pointer-types]

          static _PyArg_Parser _parser = {NULL, _keywords, "popall", 0};

                                                ^~~~~~~~~

      multidict/_multidict.c:970:54: warning: incompatible pointer types initializing 'const char *const *' with an expression of type 'char[7]' [-Wincompatible-pointer-types]

          static _PyArg_Parser _parser = {NULL, _keywords, "popall", 0};

                                                           ^~~~~~~~

      multidict/_multidict.c:1684:18: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes]

      PyInit__multidict()

                       ^

                        void

      20 warnings and 8 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 multidict

Failed to build multidict

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


请先 登录 后评论

最佳答案 2024-09-10 08:51

解决办法:

1、Mac 安装mac-requirements.txt 依赖

2、python版本切换至 3.10

3、清空原来的安装重新安装依赖

请先 登录 后评论

其它 1 个回答

使用 python3.10 版本试试


请先 登录 后评论

相似问题

GitHub 在线体验 文档站 在线问答 掘金博客 Discord交流群 302.AI Powered By Tipask3.0