stable-baselines icon indicating copy to clipboard operation
stable-baselines copied to clipboard

Installation issues related to MSVC

Open EliasHasle opened this issue 9 months ago • 0 comments

I just tried to install with pip install stable_baselines, but stumbled on an error importing distutils.msvccompiler. Some repositories have run into similar errors, and it looks like distutils.msvccompiler is deprecated, replaced by another module. However, downgrading setuptools to older versions has not worked so far. I have tried with various setuptools versions from ~50 to ~80.

Full output:
C:\Users\elias\Dropbox (Personal)\Prosjekter\SMB>pip install stable_baselines
Collecting stable_baselines
  Using cached stable_baselines-2.10.2-py3-none-any.whl.metadata (4.7 kB)
Requirement already satisfied: gym>=0.11 in c:\users\elias\appdata\local\programs\python\python311\lib\site-packages (from gym[atari,classic_control]>=0.11->stable_baselines) (0.26.2)
Requirement already satisfied: scipy in c:\users\elias\appdata\local\programs\python\python311\lib\site-packages (from stable_baselines) (1.9.3)
Requirement already satisfied: joblib in c:\users\elias\appdata\local\programs\python\python311\lib\site-packages (from stable_baselines) (1.5.1)
Requirement already satisfied: cloudpickle>=0.5.5 in c:\users\elias\appdata\local\programs\python\python311\lib\site-packages (from stable_baselines) (3.1.1)
Collecting opencv-python (from stable_baselines)
  Using cached opencv_python-4.11.0.86-cp37-abi3-win_amd64.whl.metadata (20 kB)
Requirement already satisfied: numpy in c:\users\elias\appdata\local\programs\python\python311\lib\site-packages (from stable_baselines) (1.25.2)
Requirement already satisfied: pandas in c:\users\elias\appdata\local\programs\python\python311\lib\site-packages (from stable_baselines) (1.5.2)
Requirement already satisfied: matplotlib in c:\users\elias\appdata\local\programs\python\python311\lib\site-packages (from stable_baselines) (3.6.3)
Requirement already satisfied: gym_notices>=0.0.4 in c:\users\elias\appdata\local\programs\python\python311\lib\site-packages (from gym>=0.11->gym[atari,classic_control]>=0.11->stable_baselines) (0.0.8)
Collecting ale-py~=0.8.0 (from gym[atari,classic_control]>=0.11->stable_baselines)
  Using cached ale_py-0.8.1-cp311-cp311-win_amd64.whl.metadata (8.3 kB)
Collecting pygame==2.1.0 (from gym[atari,classic_control]>=0.11->stable_baselines)
  Using cached pygame-2.1.0.tar.gz (5.8 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully. │ exit code: 1 ╰─> [95 lines of output]

  WARNING, No "Setup" File Exists, Running "buildconfig/config.py"
  Using WINDOWS configuration...

  Making dir :prebuilt_downloads:
  Downloading... https://www.libsdl.org/release/SDL2-devel-2.0.16-VC.zip 13d952c333f3c2ebe9b7bc0075b4ad2f784e7584
  Unzipping :prebuilt_downloads\SDL2-devel-2.0.16-VC.zip:
  Downloading... https://www.libsdl.org/projects/SDL_image/release/SDL2_image-devel-2.0.5-VC.zip 137f86474691f4e12e76e07d58d5920c8d844d5b
  Unzipping :prebuilt_downloads\SDL2_image-devel-2.0.5-VC.zip:
  Downloading... https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-devel-2.0.15-VC.zip 1436df41ebc47ac36e02ec9bda5699e80ff9bd27
  Unzipping :prebuilt_downloads\SDL2_ttf-devel-2.0.15-VC.zip:
  Downloading... https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-devel-2.0.4-VC.zip 9097148f4529cf19f805ccd007618dec280f0ecc
  Unzipping :prebuilt_downloads\SDL2_mixer-devel-2.0.4-VC.zip:
  Downloading... https://www.pygame.org/ftp/jpegsr9d.zip ed10aa2b5a0fcfe74f8a6f7611aeb346b06a1f99
  Unzipping :prebuilt_downloads\jpegsr9d.zip:
  Downloading... https://pygame.org/ftp/prebuilt-x64-pygame-1.9.2-20150922.zip 3a5af3427b3aa13a0aaf5c4cb08daaed341613ed
  Unzipping :prebuilt_downloads\prebuilt-x64-pygame-1.9.2-20150922.zip:
  copying into .\prebuilt-x64
  Path for SDL: prebuilt-x64\SDL2-2.0.16
  ...Library directory for SDL: prebuilt-x64/SDL2-2.0.16/lib/x64
  ...Include directory for SDL: prebuilt-x64/SDL2-2.0.16/include
  Path for FONT: prebuilt-x64\SDL2_ttf-2.0.15
  ...Library directory for FONT: prebuilt-x64/SDL2_ttf-2.0.15/lib/x64
  ...Include directory for FONT: prebuilt-x64/SDL2_ttf-2.0.15/include
  Path for IMAGE: prebuilt-x64\SDL2_image-2.0.5
  ...Library directory for IMAGE: prebuilt-x64/SDL2_image-2.0.5/lib/x64
  ...Include directory for IMAGE: prebuilt-x64/SDL2_image-2.0.5/include
  Path for MIXER: prebuilt-x64\SDL2_mixer-2.0.4
  ...Library directory for MIXER: prebuilt-x64/SDL2_mixer-2.0.4/lib/x64
  ...Include directory for MIXER: prebuilt-x64/SDL2_mixer-2.0.4/include
  Path for PORTMIDI: prebuilt-x64
  ...Library directory for PORTMIDI: prebuilt-x64/lib
  ...Include directory for PORTMIDI: prebuilt-x64/include
  DLL for SDL2: prebuilt-x64/SDL2-2.0.16/lib/x64/SDL2.dll
  DLL for SDL2_ttf: prebuilt-x64/SDL2_ttf-2.0.15/lib/x64/SDL2_ttf.dll
  DLL for SDL2_image: prebuilt-x64/SDL2_image-2.0.5/lib/x64/SDL2_image.dll
  DLL for SDL2_mixer: prebuilt-x64/SDL2_mixer-2.0.4/lib/x64/SDL2_mixer.dll
  DLL for portmidi: prebuilt-x64/lib/portmidi.dll
  Path for FREETYPE not found.
  ...Found include dir but no library dir in prebuilt-x64.
  Path for PNG not found.
  ...Found include dir but no library dir in prebuilt-x64.
  Path for JPEG not found.
  ...Found include dir but no library dir in prebuilt-x64.
  DLL for freetype: prebuilt-x64/SDL2_ttf-2.0.15/lib/x64/libfreetype-6.dll

  ---
  For help with compilation see:
      https://www.pygame.org/wiki/CompileWindows
  To contribute to pygame development see:
      https://www.pygame.org/contribute.html
  ---

  Traceback (most recent call last):
    File "C:\Users\elias\AppData\Local\Temp\pip-install-vmgn0f7_\pygame_25bae82089284624b276739f80cc6f2c\buildconfig\config_win.py", line 336, in configure
      from . import vstools
    File "C:\Users\elias\AppData\Local\Temp\pip-install-vmgn0f7_\pygame_25bae82089284624b276739f80cc6f2c\buildconfig\vstools.py", line 5, in <module>
      from distutils.msvccompiler import MSVCCompiler, get_build_architecture
  ModuleNotFoundError: No module named 'distutils.msvccompiler'

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "C:\Users\elias\AppData\Local\Programs\Python\Python311\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 389, in <module>
      main()
    File "C:\Users\elias\AppData\Local\Programs\Python\Python311\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 373, in main
      json_out["return_val"] = hook(**hook_input["kwargs"])
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\Users\elias\AppData\Local\Programs\Python\Python311\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 143, in get_requires_for_build_wheel
      return hook(config_settings)
             ^^^^^^^^^^^^^^^^^^^^^
    File "C:\Users\elias\AppData\Local\Temp\pip-build-env-ojormeyw\overlay\Lib\site-packages\setuptools\build_meta.py", line 331, in get_requires_for_build_wheel
      return self._get_build_requires(config_settings, requirements=[])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\Users\elias\AppData\Local\Temp\pip-build-env-ojormeyw\overlay\Lib\site-packages\setuptools\build_meta.py", line 301, in _get_build_requires
      self.run_setup()
    File "C:\Users\elias\AppData\Local\Temp\pip-build-env-ojormeyw\overlay\Lib\site-packages\setuptools\build_meta.py", line 512, in run_setup
      super().run_setup(setup_script=setup_script)
    File "C:\Users\elias\AppData\Local\Temp\pip-build-env-ojormeyw\overlay\Lib\site-packages\setuptools\build_meta.py", line 317, in run_setup
      exec(code, locals())
    File "<string>", line 388, in <module>
    File "C:\Users\elias\AppData\Local\Temp\pip-install-vmgn0f7_\pygame_25bae82089284624b276739f80cc6f2c\buildconfig\config.py", line 234, in main
      deps = CFG.main(**kwds)
             ^^^^^^^^^^^^^^^^
    File "C:\Users\elias\AppData\Local\Temp\pip-install-vmgn0f7_\pygame_25bae82089284624b276739f80cc6f2c\buildconfig\config_win.py", line 511, in main
      return setup_prebuilt_sdl2(prebuilt_dir)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\Users\elias\AppData\Local\Temp\pip-install-vmgn0f7_\pygame_25bae82089284624b276739f80cc6f2c\buildconfig\config_win.py", line 471, in setup_prebuilt_sdl2
      DEPS.configure()
    File "C:\Users\elias\AppData\Local\Temp\pip-install-vmgn0f7_\pygame_25bae82089284624b276739f80cc6f2c\buildconfig\config_win.py", line 338, in configure
      from buildconfig import vstools
    File "C:\Users\elias\AppData\Local\Temp\pip-install-vmgn0f7_\pygame_25bae82089284624b276739f80cc6f2c\buildconfig\vstools.py", line 5, in <module>
      from distutils.msvccompiler import MSVCCompiler, get_build_architecture
  ModuleNotFoundError: No module named 'distutils.msvccompiler'
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully. │ exit code: 1 ╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

EliasHasle avatar Jul 03 '25 09:07 EliasHasle