Defaulting to user installation because normal site-packages is not writeable
Collecting bitcoinlib
Using cached bitcoinlib-0.6.15-py3-none-any.whl.metadata (7.6 kB)
Requirement already satisfied: requests>=2.25.0 in c:\users\theo\appdata\roaming\python\python312-32\site-packages (from bitcoinlib) (2.31.0)
Requirement already satisfied: ecdsa>=0.17 in c:\users\theo\appdata\roaming\python\python312-32\site-packages (from bitcoinlib) (0.18.0)
Requirement already satisfied: pycryptodome>=3.14.1 in c:\users\theo\appdata\roaming\python\python312-32\site-packages (from bitcoinlib) (3.20.0)
Collecting SQLAlchemy>=2.0.0 (from bitcoinlib)
Using cached SQLAlchemy-2.0.35-cp312-cp312-win32.whl.metadata (9.9 kB)
Requirement already satisfied: numpy>=1.22.0 in c:\users\theo\appdata\roaming\python\python312-32\site-packages (from bitcoinlib) (1.26.4)
Requirement already satisfied: six>=1.9.0 in c:\users\theo\appdata\roaming\python\python312-32\site-packages (from ecdsa>=0.17->bitcoinlib) (1.16.0)
Requirement already satisfied: charset-normalizer<4,>=2 in c:\users\theo\appdata\roaming\python\python312-32\site-packages (from requests>=2.25.0->bitcoinlib) (3.3.2)
Requirement already satisfied: idna<4,>=2.5 in c:\users\theo\appdata\roaming\python\python312-32\site-packages (from requests>=2.25.0->bitcoinlib) (3.6)
Requirement already satisfied: urllib3<3,>=1.21.1 in c:\users\theo\appdata\roaming\python\python312-32\site-packages (from requests>=2.25.0->bitcoinlib) (2.2.1)
Requirement already satisfied: certifi>=2017.4.17 in c:\users\theo\appdata\roaming\python\python312-32\site-packages (from requests>=2.25.0->bitcoinlib) (2024.2.2)
Collecting typing-extensions>=4.6.0 (from SQLAlchemy>=2.0.0->bitcoinlib)
Using cached typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB)
Collecting greenlet!=0.4.17 (from SQLAlchemy>=2.0.0->bitcoinlib)
Using cached greenlet-3.1.0.tar.gz (183 kB)
Installing build dependencies … done
Getting requirements to build wheel … done
Preparing metadata (pyproject.toml) … done
Using cached bitcoinlib-0.6.15-py3-none-any.whl (4.3 MB)
Using cached SQLAlchemy-2.0.35-cp312-cp312-win32.whl (2.1 MB)
Using cached typing_extensions-4.12.2-py3-none-any.whl (37 kB)
Building wheels for collected packages: greenlet
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
╰─> [107 lines of output]
running bdist_wheel
running build
running build_py
creating build\lib.win32-cpython-312\greenlet
copying src\greenlet_init_.py -> build\lib.win32-cpython-312\greenlet
creating build\lib.win32-cpython-312\greenlet\platform
copying src\greenlet\platform_init_.py -> build\lib.win32-cpython-312\greenlet\platform
creating build\lib.win32-cpython-312\greenlet\tests
copying src\greenlet\tests\fail_clearing_run_switches.py -> build\lib.win32-cpython-312\greenlet\tests
copying src\greenlet\tests\fail_cpp_exception.py -> build\lib.win32-cpython-312\greenlet\tests
copying src\greenlet\tests\fail_initialstub_already_started.py -> build\lib.win32-cpython-312\greenlet\tests
copying src\greenlet\tests\fail_slp_switch.py -> build\lib.win32-cpython-312\greenlet\tests
copying src\greenlet\tests\fail_switch_three_greenlets.py -> build\lib.win32-cpython-312\greenlet\tests
copying src\greenlet\tests\fail_switch_three_greenlets2.py -> build\lib.win32-cpython-312\greenlet\tests
copying src\greenlet\tests\fail_switch_two_greenlets.py -> build\lib.win32-cpython-312\greenlet\tests
copying src\greenlet\tests\leakcheck.py -> build\lib.win32-cpython-312\greenlet\tests
copying src\greenlet\tests\test_contextvars.py -> build\lib.win32-cpython-312\greenlet\tests
copying src\greenlet\tests\test_cpp.py -> build\lib.win32-cpython-312\greenlet\tests
copying src\greenlet\tests\test_extension_interface.py -> build\lib.win32-cpython-312\greenlet\tests
copying src\greenlet\tests\test_gc.py -> build\lib.win32-cpython-312\greenlet\tests
copying src\greenlet\tests\test_generator.py -> build\lib.win32-cpython-312\greenlet\tests
copying src\greenlet\tests\test_generator_nested.py -> build\lib.win32-cpython-312\greenlet\tests
copying src\greenlet\tests\test_greenlet.py -> build\lib.win32-cpython-312\greenlet\tests
copying src\greenlet\tests\test_greenlet_trash.py -> build\lib.win32-cpython-312\greenlet\tests
copying src\greenlet\tests\test_leaks.py -> build\lib.win32-cpython-312\greenlet\tests
copying src\greenlet\tests\test_stack_saved.py -> build\lib.win32-cpython-312\greenlet\tests
copying src\greenlet\tests\test_throw.py -> build\lib.win32-cpython-312\greenlet\tests
copying src\greenlet\tests\test_tracing.py -> build\lib.win32-cpython-312\greenlet\tests
copying src\greenlet\tests\test_version.py -> build\lib.win32-cpython-312\greenlet\tests
copying src\greenlet\tests\test_weakref.py -> build\lib.win32-cpython-312\greenlet\tests
copying src\greenlet\tests_init_.py -> build\lib.win32-cpython-312\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.win32-cpython-312\greenlet
copying src\greenlet\TExceptionState.cpp -> build\lib.win32-cpython-312\greenlet
copying src\greenlet\TGreenlet.cpp -> build\lib.win32-cpython-312\greenlet
copying src\greenlet\TGreenletGlobals.cpp -> build\lib.win32-cpython-312\greenlet
copying src\greenlet\TMainGreenlet.cpp -> build\lib.win32-cpython-312\greenlet
copying src\greenlet\TPythonState.cpp -> build\lib.win32-cpython-312\greenlet
copying src\greenlet\TStackState.cpp -> build\lib.win32-cpython-312\greenlet
copying src\greenlet\TThreadStateDestroy.cpp -> build\lib.win32-cpython-312\greenlet
copying src\greenlet\TUserGreenlet.cpp -> build\lib.win32-cpython-312\greenlet
copying src\greenlet\greenlet.cpp -> build\lib.win32-cpython-312\greenlet
copying src\greenlet\greenlet.h -> build\lib.win32-cpython-312\greenlet
copying src\greenlet\greenlet_allocator.hpp -> build\lib.win32-cpython-312\greenlet
copying src\greenlet\greenlet_compiler_compat.hpp -> build\lib.win32-cpython-312\greenlet
copying src\greenlet\greenlet_cpython_add_pending.hpp -> build\lib.win32-cpython-312\greenlet
copying src\greenlet\greenlet_cpython_compat.hpp -> build\lib.win32-cpython-312\greenlet
copying src\greenlet\greenlet_exceptions.hpp -> build\lib.win32-cpython-312\greenlet
copying src\greenlet\greenlet_greenlet.hpp -> build\lib.win32-cpython-312\greenlet
copying src\greenlet\greenlet_internal.hpp -> build\lib.win32-cpython-312\greenlet
copying src\greenlet\greenlet_refs.hpp -> build\lib.win32-cpython-312\greenlet
copying src\greenlet\greenlet_slp_switch.hpp -> build\lib.win32-cpython-312\greenlet
copying src\greenlet\greenlet_thread_state.hpp -> build\lib.win32-cpython-312\greenlet
copying src\greenlet\greenlet_thread_state_dict_cleanup.hpp -> build\lib.win32-cpython-312\greenlet
copying src\greenlet\greenlet_thread_support.hpp -> build\lib.win32-cpython-312\greenlet
copying src\greenlet\slp_platformselect.h -> build\lib.win32-cpython-312\greenlet
copying src\greenlet\platform\setup_switch_x64_masm.cmd -> build\lib.win32-cpython-312\greenlet\platform
copying src\greenlet\platform\switch_aarch64_gcc.h -> build\lib.win32-cpython-312\greenlet\platform
copying src\greenlet\platform\switch_alpha_unix.h -> build\lib.win32-cpython-312\greenlet\platform
copying src\greenlet\platform\switch_amd64_unix.h -> build\lib.win32-cpython-312\greenlet\platform
copying src\greenlet\platform\switch_arm32_gcc.h -> build\lib.win32-cpython-312\greenlet\platform
copying src\greenlet\platform\switch_arm32_ios.h -> build\lib.win32-cpython-312\greenlet\platform
copying src\greenlet\platform\switch_arm64_masm.asm -> build\lib.win32-cpython-312\greenlet\platform
copying src\greenlet\platform\switch_arm64_masm.obj -> build\lib.win32-cpython-312\greenlet\platform
copying src\greenlet\platform\switch_arm64_msvc.h -> build\lib.win32-cpython-312\greenlet\platform
copying src\greenlet\platform\switch_csky_gcc.h -> build\lib.win32-cpython-312\greenlet\platform
copying src\greenlet\platform\switch_loongarch64_linux.h -> build\lib.win32-cpython-312\greenlet\platform
copying src\greenlet\platform\switch_m68k_gcc.h -> build\lib.win32-cpython-312\greenlet\platform
copying src\greenlet\platform\switch_mips_unix.h -> build\lib.win32-cpython-312\greenlet\platform
copying src\greenlet\platform\switch_ppc64_aix.h -> build\lib.win32-cpython-312\greenlet\platform
copying src\greenlet\platform\switch_ppc64_linux.h -> build\lib.win32-cpython-312\greenlet\platform
copying src\greenlet\platform\switch_ppc_aix.h -> build\lib.win32-cpython-312\greenlet\platform
copying src\greenlet\platform\switch_ppc_linux.h -> build\lib.win32-cpython-312\greenlet\platform
copying src\greenlet\platform\switch_ppc_macosx.h -> build\lib.win32-cpython-312\greenlet\platform
copying src\greenlet\platform\switch_ppc_unix.h -> build\lib.win32-cpython-312\greenlet\platform
copying src\greenlet\platform\switch_riscv_unix.h -> build\lib.win32-cpython-312\greenlet\platform
copying src\greenlet\platform\switch_s390_unix.h -> build\lib.win32-cpython-312\greenlet\platform
copying src\greenlet\platform\switch_sh_gcc.h -> build\lib.win32-cpython-312\greenlet\platform
copying src\greenlet\platform\switch_sparc_sun_gcc.h -> build\lib.win32-cpython-312\greenlet\platform
copying src\greenlet\platform\switch_x32_unix.h -> build\lib.win32-cpython-312\greenlet\platform
copying src\greenlet\platform\switch_x64_masm.asm -> build\lib.win32-cpython-312\greenlet\platform
copying src\greenlet\platform\switch_x64_masm.obj -> build\lib.win32-cpython-312\greenlet\platform
copying src\greenlet\platform\switch_x64_msvc.h -> build\lib.win32-cpython-312\greenlet\platform
copying src\greenlet\platform\switch_x86_msvc.h -> build\lib.win32-cpython-312\greenlet\platform
copying src\greenlet\platform\switch_x86_unix.h -> build\lib.win32-cpython-312\greenlet\platform
copying src\greenlet\tests_test_extension.c -> build\lib.win32-cpython-312\greenlet\tests
copying src\greenlet\tests_test_extension_cpp.cpp -> build\lib.win32-cpython-312\greenlet\tests
running build_ext
building ‘greenlet._greenlet’ extension
error: Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build Tools”: https://visualstudio.microsoft.com/visual-cpp-build-tools/
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for greenlet
Failed to build greenlet
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (greenlet)