Skip to content

Installation issue of empanada #23

@bpavie

Description

@bpavie

I followed te instruction to install empanada on windows 11 with GPU support but got a error during the last step:

conda create -y -n empanada -c conda-forge python=3.9
conda activate empanada
conda install pyqt
pip install "napari[all]"
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
pip install empanada-napari=1.2

And got the following error:

Downloading simpleitk-2.5.3-cp39-cp39-win_amd64.whl (18.8 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 18.8/18.8 MB 9.8 MB/s  0:00:01
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
  ╰─> [112 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build\lib.win-amd64-cpython-39\greenlet
      copying src\greenlet\__init__.py -> build\lib.win-amd64-cpython-39\greenlet
      creating build\lib.win-amd64-cpython-39\greenlet\platform
      copying src\greenlet\platform\__init__.py -> build\lib.win-amd64-cpython-39\greenlet\platform
      creating build\lib.win-amd64-cpython-39\greenlet\tests
      copying src\greenlet\tests\fail_clearing_run_switches.py -> build\lib.win-amd64-cpython-39\greenlet\tests
      copying src\greenlet\tests\fail_cpp_exception.py -> build\lib.win-amd64-cpython-39\greenlet\tests
      copying src\greenlet\tests\fail_initialstub_already_started.py -> build\lib.win-amd64-cpython-39\greenlet\tests
      copying src\greenlet\tests\fail_slp_switch.py -> build\lib.win-amd64-cpython-39\greenlet\tests
      copying src\greenlet\tests\fail_switch_three_greenlets.py -> build\lib.win-amd64-cpython-39\greenlet\tests
      copying src\greenlet\tests\fail_switch_three_greenlets2.py -> build\lib.win-amd64-cpython-39\greenlet\tests
      copying src\greenlet\tests\fail_switch_two_greenlets.py -> build\lib.win-amd64-cpython-39\greenlet\tests
      copying src\greenlet\tests\leakcheck.py -> build\lib.win-amd64-cpython-39\greenlet\tests
      copying src\greenlet\tests\test_contextvars.py -> build\lib.win-amd64-cpython-39\greenlet\tests
      copying src\greenlet\tests\test_cpp.py -> build\lib.win-amd64-cpython-39\greenlet\tests
      copying src\greenlet\tests\test_extension_interface.py -> build\lib.win-amd64-cpython-39\greenlet\tests
      copying src\greenlet\tests\test_gc.py -> build\lib.win-amd64-cpython-39\greenlet\tests
      copying src\greenlet\tests\test_generator.py -> build\lib.win-amd64-cpython-39\greenlet\tests
      copying src\greenlet\tests\test_generator_nested.py -> build\lib.win-amd64-cpython-39\greenlet\tests
      copying src\greenlet\tests\test_greenlet.py -> build\lib.win-amd64-cpython-39\greenlet\tests
      copying src\greenlet\tests\test_greenlet_trash.py -> build\lib.win-amd64-cpython-39\greenlet\tests
      copying src\greenlet\tests\test_interpreter_shutdown.py -> build\lib.win-amd64-cpython-39\greenlet\tests
      copying src\greenlet\tests\test_leaks.py -> build\lib.win-amd64-cpython-39\greenlet\tests
      copying src\greenlet\tests\test_stack_saved.py -> build\lib.win-amd64-cpython-39\greenlet\tests
      copying src\greenlet\tests\test_throw.py -> build\lib.win-amd64-cpython-39\greenlet\tests
      copying src\greenlet\tests\test_tracing.py -> build\lib.win-amd64-cpython-39\greenlet\tests
      copying src\greenlet\tests\test_version.py -> build\lib.win-amd64-cpython-39\greenlet\tests
      copying src\greenlet\tests\test_weakref.py -> build\lib.win-amd64-cpython-39\greenlet\tests
      copying src\greenlet\tests\__init__.py -> build\lib.win-amd64-cpython-39\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'
      writing manifest file 'src\greenlet.egg-info\SOURCES.txt'
      copying src\greenlet\CObjects.cpp -> build\lib.win-amd64-cpython-39\greenlet
      copying src\greenlet\PyGreenlet.cpp -> build\lib.win-amd64-cpython-39\greenlet
      copying src\greenlet\PyGreenlet.hpp -> build\lib.win-amd64-cpython-39\greenlet
      copying src\greenlet\PyGreenletUnswitchable.cpp -> build\lib.win-amd64-cpython-39\greenlet
      copying src\greenlet\PyModule.cpp -> build\lib.win-amd64-cpython-39\greenlet
      copying src\greenlet\TBrokenGreenlet.cpp -> build\lib.win-amd64-cpython-39\greenlet
      copying src\greenlet\TExceptionState.cpp -> build\lib.win-amd64-cpython-39\greenlet
      copying src\greenlet\TGreenlet.cpp -> build\lib.win-amd64-cpython-39\greenlet
      copying src\greenlet\TGreenlet.hpp -> build\lib.win-amd64-cpython-39\greenlet
      copying src\greenlet\TGreenletGlobals.cpp -> build\lib.win-amd64-cpython-39\greenlet
      copying src\greenlet\TMainGreenlet.cpp -> build\lib.win-amd64-cpython-39\greenlet
      copying src\greenlet\TPythonState.cpp -> build\lib.win-amd64-cpython-39\greenlet
      copying src\greenlet\TStackState.cpp -> build\lib.win-amd64-cpython-39\greenlet
      copying src\greenlet\TThreadState.hpp -> build\lib.win-amd64-cpython-39\greenlet
      copying src\greenlet\TThreadStateCreator.hpp -> build\lib.win-amd64-cpython-39\greenlet
      copying src\greenlet\TThreadStateDestroy.cpp -> build\lib.win-amd64-cpython-39\greenlet
      copying src\greenlet\TUserGreenlet.cpp -> build\lib.win-amd64-cpython-39\greenlet
      copying src\greenlet\greenlet.cpp -> build\lib.win-amd64-cpython-39\greenlet
      copying src\greenlet\greenlet.h -> build\lib.win-amd64-cpython-39\greenlet
      copying src\greenlet\greenlet_allocator.hpp -> build\lib.win-amd64-cpython-39\greenlet
      copying src\greenlet\greenlet_compiler_compat.hpp -> build\lib.win-amd64-cpython-39\greenlet
      copying src\greenlet\greenlet_cpython_compat.hpp -> build\lib.win-amd64-cpython-39\greenlet
      copying src\greenlet\greenlet_exceptions.hpp -> build\lib.win-amd64-cpython-39\greenlet
      copying src\greenlet\greenlet_internal.hpp -> build\lib.win-amd64-cpython-39\greenlet
      copying src\greenlet\greenlet_msvc_compat.hpp -> build\lib.win-amd64-cpython-39\greenlet
      copying src\greenlet\greenlet_refs.hpp -> build\lib.win-amd64-cpython-39\greenlet
      copying src\greenlet\greenlet_slp_switch.hpp -> build\lib.win-amd64-cpython-39\greenlet
      copying src\greenlet\greenlet_thread_support.hpp -> build\lib.win-amd64-cpython-39\greenlet
      copying src\greenlet\slp_platformselect.h -> build\lib.win-amd64-cpython-39\greenlet
      copying src\greenlet\platform\setup_switch_x64_masm.cmd -> build\lib.win-amd64-cpython-39\greenlet\platform
      copying src\greenlet\platform\switch_aarch64_gcc.h -> build\lib.win-amd64-cpython-39\greenlet\platform
      copying src\greenlet\platform\switch_alpha_unix.h -> build\lib.win-amd64-cpython-39\greenlet\platform
      copying src\greenlet\platform\switch_amd64_unix.h -> build\lib.win-amd64-cpython-39\greenlet\platform
      copying src\greenlet\platform\switch_arm32_gcc.h -> build\lib.win-amd64-cpython-39\greenlet\platform
      copying src\greenlet\platform\switch_arm32_ios.h -> build\lib.win-amd64-cpython-39\greenlet\platform
      copying src\greenlet\platform\switch_arm64_masm.asm -> build\lib.win-amd64-cpython-39\greenlet\platform
      copying src\greenlet\platform\switch_arm64_masm.obj -> build\lib.win-amd64-cpython-39\greenlet\platform
      copying src\greenlet\platform\switch_arm64_msvc.h -> build\lib.win-amd64-cpython-39\greenlet\platform
      copying src\greenlet\platform\switch_csky_gcc.h -> build\lib.win-amd64-cpython-39\greenlet\platform
      copying src\greenlet\platform\switch_loongarch64_linux.h -> build\lib.win-amd64-cpython-39\greenlet\platform
      copying src\greenlet\platform\switch_m68k_gcc.h -> build\lib.win-amd64-cpython-39\greenlet\platform
      copying src\greenlet\platform\switch_mips_unix.h -> build\lib.win-amd64-cpython-39\greenlet\platform
      copying src\greenlet\platform\switch_ppc64_aix.h -> build\lib.win-amd64-cpython-39\greenlet\platform
      copying src\greenlet\platform\switch_ppc64_linux.h -> build\lib.win-amd64-cpython-39\greenlet\platform
      copying src\greenlet\platform\switch_ppc_aix.h -> build\lib.win-amd64-cpython-39\greenlet\platform
      copying src\greenlet\platform\switch_ppc_linux.h -> build\lib.win-amd64-cpython-39\greenlet\platform
      copying src\greenlet\platform\switch_ppc_macosx.h -> build\lib.win-amd64-cpython-39\greenlet\platform
      copying src\greenlet\platform\switch_ppc_unix.h -> build\lib.win-amd64-cpython-39\greenlet\platform
      copying src\greenlet\platform\switch_riscv_unix.h -> build\lib.win-amd64-cpython-39\greenlet\platform
      copying src\greenlet\platform\switch_s390_unix.h -> build\lib.win-amd64-cpython-39\greenlet\platform
      copying src\greenlet\platform\switch_sh_gcc.h -> build\lib.win-amd64-cpython-39\greenlet\platform
      copying src\greenlet\platform\switch_sparc_sun_gcc.h -> build\lib.win-amd64-cpython-39\greenlet\platform
      copying src\greenlet\platform\switch_x32_unix.h -> build\lib.win-amd64-cpython-39\greenlet\platform
      copying src\greenlet\platform\switch_x64_masm.asm -> build\lib.win-amd64-cpython-39\greenlet\platform
      copying src\greenlet\platform\switch_x64_masm.obj -> build\lib.win-amd64-cpython-39\greenlet\platform
      copying src\greenlet\platform\switch_x64_msvc.h -> build\lib.win-amd64-cpython-39\greenlet\platform
      copying src\greenlet\platform\switch_x86_msvc.h -> build\lib.win-amd64-cpython-39\greenlet\platform
      copying src\greenlet\platform\switch_x86_unix.h -> build\lib.win-amd64-cpython-39\greenlet\platform
      copying src\greenlet\tests\_test_extension.c -> build\lib.win-amd64-cpython-39\greenlet\tests
      copying src\greenlet\tests\_test_extension_cpp.cpp -> build\lib.win-amd64-cpython-39\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: failed-wheel-build-for-install

× Failed to build installable wheels for some pyproject.toml based projects
╰─> greenlet

This is not mentioned in the documenetation (to my knowledge) that you need to have Microsoft Visual C++ 14.0 or greater installed.

Also, there is a typo on the documentation, it should be with == and not = in pip install empanada-napari==1.2 instead of pip install empanada-napari=1.2

Best,
Benjamin

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions