python-greenlet / greenlet

Lightweight in-process concurrent programming
Other
1.63k stars 247 forks source link

Not supporting PEP 517 builds with poetry on Windows #383

Open Ohlomonchick opened 10 months ago

Ohlomonchick commented 10 months ago

I'm having a problem installing greenlet (3.0.1) on windows with Poetry (version 1.6.1) and Python 3.11.4

Here is an output of builder:

ChefBuildError

  Backend subprocess exited when trying to invoke build_wheel

  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win-amd64-cpython-311
  creating build\lib.win-amd64-cpython-311\greenlet
  copying src\greenlet\__init__.py -> build\lib.win-amd64-cpython-311\greenlet
  creating build\lib.win-amd64-cpython-311\greenlet\platform
  copying src\greenlet\platform\__init__.py -> build\lib.win-amd64-cpython-311\greenlet\platform
  creating build\lib.win-amd64-cpython-311\greenlet\tests
  copying src\greenlet\tests\fail_clearing_run_switches.py -> build\lib.win-amd64-cpython-311\greenlet\tests
  copying src\greenlet\tests\fail_cpp_exception.py -> build\lib.win-amd64-cpython-311\greenlet\tests
  copying src\greenlet\tests\fail_initialstub_already_started.py -> build\lib.win-amd64-cpython-311\greenlet\tests
  copying src\greenlet\tests\fail_slp_switch.py -> build\lib.win-amd64-cpython-311\greenlet\tests
  copying src\greenlet\tests\fail_switch_three_greenlets.py -> build\lib.win-amd64-cpython-311\greenlet\tests
  copying src\greenlet\tests\fail_switch_three_greenlets2.py -> build\lib.win-amd64-cpython-311\greenlet\tests
  copying src\greenlet\tests\fail_switch_two_greenlets.py -> build\lib.win-amd64-cpython-311\greenlet\tests
  copying src\greenlet\tests\leakcheck.py -> build\lib.win-amd64-cpython-311\greenlet\tests
  copying src\greenlet\tests\test_contextvars.py -> build\lib.win-amd64-cpython-311\greenlet\tests
  copying src\greenlet\tests\test_cpp.py -> build\lib.win-amd64-cpython-311\greenlet\tests
  copying src\greenlet\tests\test_extension_interface.py -> build\lib.win-amd64-cpython-311\greenlet\tests
  copying src\greenlet\tests\test_gc.py -> build\lib.win-amd64-cpython-311\greenlet\tests
  copying src\greenlet\tests\test_generator.py -> build\lib.win-amd64-cpython-311\greenlet\tests
  copying src\greenlet\tests\test_generator_nested.py -> build\lib.win-amd64-cpython-311\greenlet\tests
  copying src\greenlet\tests\test_greenlet.py -> build\lib.win-amd64-cpython-311\greenlet\tests
  copying src\greenlet\tests\test_greenlet_trash.py -> build\lib.win-amd64-cpython-311\greenlet\tests
  copying src\greenlet\tests\test_leaks.py -> build\lib.win-amd64-cpython-311\greenlet\tests
  copying src\greenlet\tests\test_stack_saved.py -> build\lib.win-amd64-cpython-311\greenlet\tests
  copying src\greenlet\tests\test_throw.py -> build\lib.win-amd64-cpython-311\greenlet\tests
  copying src\greenlet\tests\test_tracing.py -> build\lib.win-amd64-cpython-311\greenlet\tests
  copying src\greenlet\tests\test_version.py -> build\lib.win-amd64-cpython-311\greenlet\tests
  copying src\greenlet\tests\test_weakref.py -> build\lib.win-amd64-cpython-311\greenlet\tests
  copying src\greenlet\tests\__init__.py -> build\lib.win-amd64-cpython-311\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\TBrokenGreenlet.cpp -> build\lib.win-amd64-cpython-311\greenlet
  copying src\greenlet\TExceptionState.cpp -> build\lib.win-amd64-cpython-311\greenlet
  copying src\greenlet\TGreenlet.cpp -> build\lib.win-amd64-cpython-311\greenlet
  copying src\greenlet\TGreenletGlobals.cpp -> build\lib.win-amd64-cpython-311\greenlet
  copying src\greenlet\TMainGreenlet.cpp -> build\lib.win-amd64-cpython-311\greenlet
  copying src\greenlet\TPythonState.cpp -> build\lib.win-amd64-cpython-311\greenlet
  copying src\greenlet\TStackState.cpp -> build\lib.win-amd64-cpython-311\greenlet
  copying src\greenlet\TThreadStateDestroy.cpp -> build\lib.win-amd64-cpython-311\greenlet
  copying src\greenlet\TUserGreenlet.cpp -> build\lib.win-amd64-cpython-311\greenlet
  copying src\greenlet\greenlet.cpp -> build\lib.win-amd64-cpython-311\greenlet
  copying src\greenlet\greenlet.h -> build\lib.win-amd64-cpython-311\greenlet
  copying src\greenlet\greenlet_allocator.hpp -> build\lib.win-amd64-cpython-311\greenlet
  copying src\greenlet\greenlet_compiler_compat.hpp -> build\lib.win-amd64-cpython-311\greenlet
  copying src\greenlet\greenlet_cpython_add_pending.hpp -> build\lib.win-amd64-cpython-311\greenlet
  copying src\greenlet\greenlet_cpython_compat.hpp -> build\lib.win-amd64-cpython-311\greenlet
  copying src\greenlet\greenlet_exceptions.hpp -> build\lib.win-amd64-cpython-311\greenlet
  copying src\greenlet\greenlet_greenlet.hpp -> build\lib.win-amd64-cpython-311\greenlet
  copying src\greenlet\greenlet_internal.hpp -> build\lib.win-amd64-cpython-311\greenlet
  copying src\greenlet\greenlet_refs.hpp -> build\lib.win-amd64-cpython-311\greenlet
  copying src\greenlet\greenlet_slp_switch.hpp -> build\lib.win-amd64-cpython-311\greenlet
  copying src\greenlet\greenlet_thread_state.hpp -> build\lib.win-amd64-cpython-311\greenlet
  copying src\greenlet\greenlet_thread_state_dict_cleanup.hpp -> build\lib.win-amd64-cpython-311\greenlet
  copying src\greenlet\greenlet_thread_support.hpp -> build\lib.win-amd64-cpython-311\greenlet
  copying src\greenlet\slp_platformselect.h -> build\lib.win-amd64-cpython-311\greenlet
  copying src\greenlet\platform\setup_switch_x64_masm.cmd -> build\lib.win-amd64-cpython-311\greenlet\platform
  copying src\greenlet\platform\switch_aarch64_gcc.h -> build\lib.win-amd64-cpython-311\greenlet\platform
  copying src\greenlet\platform\switch_alpha_unix.h -> build\lib.win-amd64-cpython-311\greenlet\platform
  copying src\greenlet\platform\switch_amd64_unix.h -> build\lib.win-amd64-cpython-311\greenlet\platform
  copying src\greenlet\platform\switch_arm32_gcc.h -> build\lib.win-amd64-cpython-311\greenlet\platform
  copying src\greenlet\platform\switch_arm32_ios.h -> build\lib.win-amd64-cpython-311\greenlet\platform
  copying src\greenlet\platform\switch_arm64_masm.asm -> build\lib.win-amd64-cpython-311\greenlet\platform
  copying src\greenlet\platform\switch_arm64_masm.obj -> build\lib.win-amd64-cpython-311\greenlet\platform
  copying src\greenlet\platform\switch_arm64_msvc.h -> build\lib.win-amd64-cpython-311\greenlet\platform
  copying src\greenlet\platform\switch_csky_gcc.h -> build\lib.win-amd64-cpython-311\greenlet\platform
  copying src\greenlet\platform\switch_loongarch64_linux.h -> build\lib.win-amd64-cpython-311\greenlet\platform
  copying src\greenlet\platform\switch_m68k_gcc.h -> build\lib.win-amd64-cpython-311\greenlet\platform
  copying src\greenlet\platform\switch_mips_unix.h -> build\lib.win-amd64-cpython-311\greenlet\platform
  copying src\greenlet\platform\switch_ppc64_aix.h -> build\lib.win-amd64-cpython-311\greenlet\platform
  copying src\greenlet\platform\switch_ppc64_linux.h -> build\lib.win-amd64-cpython-311\greenlet\platform
  copying src\greenlet\platform\switch_ppc_aix.h -> build\lib.win-amd64-cpython-311\greenlet\platform
  copying src\greenlet\platform\switch_ppc_linux.h -> build\lib.win-amd64-cpython-311\greenlet\platform
      148│
      149│             return path
      150│
      151│     def _prepare_sdist(self, archive: Path, destination: Path | None = None) -> Path:

Note: This error originates from the build backend, and is likely not a problem with poetry but with greenlet (3.0.1) not supporting PEP 517 builds. You can verify this by running 'pip wheel --use-pep517 "greenlet (==3.0.1)"'.
jamadden commented 9 months ago

Whatever error there was that caused the backend process to exit didn't make it into this report; it appears to be cut off near the bottom.

All I can suggest then is trying 3.0.2 which has some minor packaging changes.