Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MacOS 无法安装 flybirds #274

Open
wwyx778 opened this issue Apr 23, 2024 · 0 comments
Open

MacOS 无法安装 flybirds #274

wwyx778 opened this issue Apr 23, 2024 · 0 comments

Comments

@wwyx778
Copy link

wwyx778 commented Apr 23, 2024

问题描述 / Describe the bug
Mac 环境下无法安装 flybirds,尝试切换了python 3.8.10/3.8.19/3.9.19 版本都有相同报错,看起来是 greenlet 不支持 m1 芯片的原因,但是我不确定是否有解决方案

Python 3.10.14

pip 24.0 from /Users/jehu/.pyenv/versions/3.10.14/lib/python3.10/site-packages/pip (python 3.10)

问题复现步骤 / To Reproduce

  1. 执行 pip install flybirds 报错

预期结果 / Expected behavior
安装成功

截图 / Screenshots
If applicable, add screenshots to help explain your problem.

环境信息 / Environment (please complete the following information):

  • Device: MacBook
  • OS: 14.1.2
  • Browser /
  • Version /
  • CPU: M1 Pro

Additional context

Using cached werkzeug-3.0.2-py3-none-any.whl (226 kB)
Building wheels for collected packages: greenlet, airtest, pywinauto, baseImage, pocoui, hrpc
  Building wheel for greenlet (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for greenlet (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [131 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.macosx-14.1-arm64-cpython-310
      creating build/lib.macosx-14.1-arm64-cpython-310/greenlet
      copying src/greenlet/__init__.py -> build/lib.macosx-14.1-arm64-cpython-310/greenlet
      creating build/lib.macosx-14.1-arm64-cpython-310/greenlet/platform
      copying src/greenlet/platform/__init__.py -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/platform
      creating build/lib.macosx-14.1-arm64-cpython-310/greenlet/tests
      copying src/greenlet/tests/test_version.py -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/tests
      copying src/greenlet/tests/test_weakref.py -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/tests
      copying src/greenlet/tests/test_gc.py -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/tests
      copying src/greenlet/tests/leakcheck.py -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/tests
      copying src/greenlet/tests/test_generator.py -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/tests
      copying src/greenlet/tests/test_greenlet_trash.py -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/tests
      copying src/greenlet/tests/test_throw.py -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/tests
      copying src/greenlet/tests/test_tracing.py -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/tests
      copying src/greenlet/tests/test_cpp.py -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/tests
      copying src/greenlet/tests/test_contextvars.py -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/tests
      copying src/greenlet/tests/test_greenlet.py -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/tests
      copying src/greenlet/tests/test_extension_interface.py -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/tests
      copying src/greenlet/tests/__init__.py -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/tests
      copying src/greenlet/tests/test_generator_nested.py -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/tests
      copying src/greenlet/tests/test_stack_saved.py -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/tests
      copying src/greenlet/tests/test_leaks.py -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/tests
      running egg_info
      writing src/greenlet.egg-info/PKG-INFO
      writing dependency_links to src/greenlet.egg-info/dependency_links.txt
      writing requirements to src/greenlet.egg-info/requires.txt
      writing top-level names to src/greenlet.egg-info/top_level.txt
      reading manifest file 'src/greenlet.egg-info/SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      warning: no previously-included files found matching 'benchmarks/*.json'
      no previously-included directories found matching 'docs/_build'
      warning: no files found matching '*.py' under directory 'appveyor'
      warning: no previously-included files matching '*.pyc' found anywhere in distribution
      warning: no previously-included files matching '*.pyd' found anywhere in distribution
      warning: no previously-included files matching '*.so' found anywhere in distribution
      warning: no previously-included files matching '.coverage' found anywhere in distribution
      adding license file 'LICENSE'
      adding license file 'LICENSE.PSF'
      adding license file 'AUTHORS'
      writing manifest file 'src/greenlet.egg-info/SOURCES.txt'
      copying src/greenlet/greenlet.cpp -> build/lib.macosx-14.1-arm64-cpython-310/greenlet
      copying src/greenlet/greenlet.h -> build/lib.macosx-14.1-arm64-cpython-310/greenlet
      copying src/greenlet/greenlet_allocator.hpp -> build/lib.macosx-14.1-arm64-cpython-310/greenlet
      copying src/greenlet/greenlet_compiler_compat.hpp -> build/lib.macosx-14.1-arm64-cpython-310/greenlet
      copying src/greenlet/greenlet_cpython_compat.hpp -> build/lib.macosx-14.1-arm64-cpython-310/greenlet
      copying src/greenlet/greenlet_exceptions.hpp -> build/lib.macosx-14.1-arm64-cpython-310/greenlet
      copying src/greenlet/greenlet_greenlet.hpp -> build/lib.macosx-14.1-arm64-cpython-310/greenlet
      copying src/greenlet/greenlet_internal.hpp -> build/lib.macosx-14.1-arm64-cpython-310/greenlet
      copying src/greenlet/greenlet_refs.hpp -> build/lib.macosx-14.1-arm64-cpython-310/greenlet
      copying src/greenlet/greenlet_slp_switch.hpp -> build/lib.macosx-14.1-arm64-cpython-310/greenlet
      copying src/greenlet/greenlet_thread_state.hpp -> build/lib.macosx-14.1-arm64-cpython-310/greenlet
      copying src/greenlet/greenlet_thread_state_dict_cleanup.hpp -> build/lib.macosx-14.1-arm64-cpython-310/greenlet
      copying src/greenlet/greenlet_thread_support.hpp -> build/lib.macosx-14.1-arm64-cpython-310/greenlet
      copying src/greenlet/slp_platformselect.h -> build/lib.macosx-14.1-arm64-cpython-310/greenlet
      copying src/greenlet/platform/setup_switch_x64_masm.cmd -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/platform
      copying src/greenlet/platform/switch_aarch64_gcc.h -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/platform
      copying src/greenlet/platform/switch_alpha_unix.h -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/platform
      copying src/greenlet/platform/switch_amd64_unix.h -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/platform
      copying src/greenlet/platform/switch_arm32_gcc.h -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/platform
      copying src/greenlet/platform/switch_arm32_ios.h -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/platform
      copying src/greenlet/platform/switch_arm64_masm.asm -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/platform
      copying src/greenlet/platform/switch_arm64_masm.obj -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/platform
      copying src/greenlet/platform/switch_arm64_msvc.h -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/platform
      copying src/greenlet/platform/switch_csky_gcc.h -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/platform
      copying src/greenlet/platform/switch_m68k_gcc.h -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/platform
      copying src/greenlet/platform/switch_mips_unix.h -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/platform
      copying src/greenlet/platform/switch_ppc64_aix.h -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/platform
      copying src/greenlet/platform/switch_ppc64_linux.h -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/platform
      copying src/greenlet/platform/switch_ppc_aix.h -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/platform
      copying src/greenlet/platform/switch_ppc_linux.h -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/platform
      copying src/greenlet/platform/switch_ppc_macosx.h -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/platform
      copying src/greenlet/platform/switch_ppc_unix.h -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/platform
      copying src/greenlet/platform/switch_riscv_unix.h -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/platform
      copying src/greenlet/platform/switch_s390_unix.h -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/platform
      copying src/greenlet/platform/switch_sparc_sun_gcc.h -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/platform
      copying src/greenlet/platform/switch_x32_unix.h -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/platform
      copying src/greenlet/platform/switch_x64_masm.asm -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/platform
      copying src/greenlet/platform/switch_x64_masm.obj -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/platform
      copying src/greenlet/platform/switch_x64_msvc.h -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/platform
      copying src/greenlet/platform/switch_x86_msvc.h -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/platform
      copying src/greenlet/platform/switch_x86_unix.h -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/platform
      copying src/greenlet/tests/_test_extension.c -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/tests
      copying src/greenlet/tests/_test_extension_cpp.cpp -> build/lib.macosx-14.1-arm64-cpython-310/greenlet/tests
      running build_ext
      building 'greenlet._greenlet' extension
      creating build/temp.macosx-14.1-arm64-cpython-310
      creating build/temp.macosx-14.1-arm64-cpython-310/src
      creating build/temp.macosx-14.1-arm64-cpython-310/src/greenlet
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/Users/jehu/.pyenv/versions/3.10.14/include/python3.10 -c src/greenlet/greenlet.cpp -o build/temp.macosx-14.1-arm64-cpython-310/src/greenlet/greenlet.o --std=gnu++11
      In file included from src/greenlet/greenlet.cpp:21:
      In file included from src/greenlet/greenlet_slp_switch.hpp:82:
      In file included from src/greenlet/slp_platformselect.h:53:
      src/greenlet/platform/switch_aarch64_gcc.h:29:9: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
              register long *stackref, stsizediff;
              ^~~~~~~~~
      src/greenlet/platform/switch_aarch64_gcc.h:29:9: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
              register long *stackref, stsizediff;
              ^~~~~~~~~
      src/greenlet/platform/switch_aarch64_gcc.h:62:51: warning: value size does not match register size specified by the constraint and modifier [-Wasm-operand-widths]
                 __asm__ volatile ("mov %0, #0" : "=r" (err));
                                                        ^
      src/greenlet/platform/switch_aarch64_gcc.h:62:35: note: use constraint modifier "w"
                 __asm__ volatile ("mov %0, #0" : "=r" (err));
                                        ^~
                                        %w0
      In file included from src/greenlet/greenlet.cpp:10:
      In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/string:576:
      In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/string_view:1027:
      In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/functional:515:
      In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/boyer_moore_searcher.h:26:
      /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:372:5: error: static assertion failed due to requirement 'is_same<greenlet::PythonAllocator<_greenlet *>, std::allocator<_greenlet *>>::value': [allocator.requirements] states that rebinding an allocator to the same type should result in the original allocator
          static_assert(is_same<allocator_type, __rebind_alloc<__alloc_traits, value_type> >::value,
          ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      src/greenlet/greenlet_thread_state.hpp:115:16: note: in instantiation of template class 'std::vector<_greenlet *, greenlet::PythonAllocator<_greenlet *>>' requested here
          deleteme_t deleteme;
                     ^
      src/greenlet/greenlet_thread_state.hpp:267:48: error: no member named 'begin' in 'std::vector<_greenlet *, greenlet::PythonAllocator<_greenlet *>>'
                  for(deleteme_t::iterator it = copy.begin(), end = copy.end();
                                                ~~~~ ^
      src/greenlet/greenlet_thread_state.hpp:267:68: error: no member named 'end' in 'std::vector<_greenlet *, greenlet::PythonAllocator<_greenlet *>>'
                  for(deleteme_t::iterator it = copy.begin(), end = copy.end();
                                                                    ~~~~ ^
      src/greenlet/greenlet_thread_state.hpp:115:16: warning: private field 'deleteme' is not used [-Wunused-private-field]
          deleteme_t deleteme;
                     ^
      4 warnings and 3 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 greenlet
  Building wheel for airtest (pyproject.toml) ... done
  Created wheel for airtest: filename=airtest-1.3.3-py3-none-any.whl size=49775106 sha256=5430440572a0bd5c820212806c08dbd1a996b0f2d8fb7114660db57dcddca11d
  Stored in directory: /Users/jehu/Library/Caches/pip/wheels/3c/98/97/bb5e820a3bbc85dcc44f260554cc2c966d82abd4ca9556f81e
  Building wheel for pywinauto (pyproject.toml) ... done
  Created wheel for pywinauto: filename=pywinauto-0.6.3-py3-none-any.whl size=249834 sha256=59026703d9a3fcb3daa1c0024082911eea4fcbe65e20e36cf357484560a7b536
  Stored in directory: /Users/jehu/Library/Caches/pip/wheels/4f/0b/37/c8c71b2c8610899bafe5004dd785587dec7faa26f41d1d0914
  Building wheel for baseImage (pyproject.toml) ... done
  Created wheel for baseImage: filename=baseImage-2.1.6-py3-none-any.whl size=30925 sha256=272d78fa874b2abf809cf3ccb8b3ed11dc4ced59abf5417e58d8ce0178710ee2
  Stored in directory: /Users/jehu/Library/Caches/pip/wheels/f1/5e/1b/57851bff68b6ca1071daa18df041c65deeb851917e9df8002c
  Building wheel for pocoui (pyproject.toml) ... done
  Created wheel for pocoui: filename=pocoui-1.0.94-py3-none-any.whl size=11708101 sha256=29a14e8ead24d07c2918132fcb9ca1a9a5fb6fc5e3de8e30278a40623550ac6a
  Stored in directory: /Users/jehu/Library/Caches/pip/wheels/29/5c/58/80018667704175f19f8d21b06fb0d3e1335984b39e46366494
  Building wheel for hrpc (pyproject.toml) ... done
  Created wheel for hrpc: filename=hrpc-1.0.9-py3-none-any.whl size=8969 sha256=3bad5ca00dac355147d375942dc68552d5ed6f794f529708e64fedb4331f509b
  Stored in directory: /Users/jehu/Library/Caches/pip/wheels/f5/44/48/f5516fcba3c93c7ac976ff5beb0e0152d1daf31997c0fcb8e9
Successfully built airtest pywinauto baseImage pocoui hrpc
Failed to build greenlet
ERROR: Could not build wheels for greenlet, which is required to install pyproject.toml-based projects
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant