1

I have coded a game in python using pygame and it has worked with no errors so far. But to make it faster I wanted to compile it with PyPy. However, when I try to install pygame, I get the error "subprocess-exited-with-error" and at the end it states "Microsoft Visual C++ 14.2 or greater is required. Get it with "Microsoft C++ Build Tools"", but I have already installed Microsoft Visual C++ according to this answer and it still doesn't work. Is it a problem with PyPy?

Collecting pygame
  Using cached pygame-2.1.2.tar.gz (10.1 MB)
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'error'

  error: subprocess-exited-with-error
  
  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [81 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.18-VC.zip ed561079ec622b0bab5a9e02976f5d540b0622da
      Unzipping :prebuilt_downloads\SDL2-devel-2.0.18-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.18
      ...Library directory for SDL: prebuilt-x64/SDL2-2.0.18/lib/x64
      ...Include directory for SDL: prebuilt-x64/SDL2-2.0.18/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.18/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
          https://www.pygame.org/wiki/CompilePyPy
      To contribute to pygame development see:
          https://www.pygame.org/contribute.html
      ---
      
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "C:\Users\ckmer\AppData\Local\Temp\pip-install-0egbz63s\pygame_78302f357f0147809258f9d43d3b4ac4\setup.py", line 359, in <module>
          buildconfig.config.main(AUTO_CONFIG)
        File "C:\Users\ckmer\AppData\Local\Temp\pip-install-0egbz63s\pygame_78302f357f0147809258f9d43d3b4ac4\buildconfig\config.py", line 225, in main
          deps = CFG.main(**kwds)
        File "C:\Users\ckmer\AppData\Local\Temp\pip-install-0egbz63s\pygame_78302f357f0147809258f9d43d3b4ac4\buildconfig\config_win.py", line 511, in main
          return setup_prebuilt_sdl2(prebuilt_dir)
        File "C:\Users\ckmer\AppData\Local\Temp\pip-install-0egbz63s\pygame_78302f357f0147809258f9d43d3b4ac4\buildconfig\config_win.py", line 471, in setup_prebuilt_sdl2
          DEPS.configure()
        File "C:\Users\ckmer\AppData\Local\Temp\pip-install-0egbz63s\pygame_78302f357f0147809258f9d43d3b4ac4\buildconfig\config_win.py", line 336, in configure
          from . import vstools
        File "C:\Users\ckmer\AppData\Local\Temp\pip-install-0egbz63s\pygame_78302f357f0147809258f9d43d3b4ac4\buildconfig\vstools.py", line 11, in <module>
          compiler.initialize()
        File "C:\Users\ckmer\PycharmProjects\pypy39\lib\site-packages\setuptools\_distutils\msvc9compiler.py", line 371, in initialize
          vc_env = query_vcvarsall(VERSION, plat_spec)
        File "C:\Users\ckmer\PycharmProjects\pypy39\lib\site-packages\setuptools\msvc.py", line 140, in msvc9_query_vcvarsall
          return EnvironmentInfo(arch, ver).return_env()
        File "C:\Users\ckmer\PycharmProjects\pypy39\lib\site-packages\setuptools\msvc.py", line 1740, in return_env
          [self.VCIncludes,
        File "C:\Users\ckmer\PycharmProjects\pypy39\lib\site-packages\setuptools\msvc.py", line 1282, in VCIncludes
          return [join(self.si.VCInstallDir, 'Include'),
        File "C:\Users\ckmer\PycharmProjects\pypy39\lib\site-packages\setuptools\msvc.py", line 840, in VCInstallDir
          raise distutils.errors.DistutilsPlatformError(msg)
      distutils.errors.DistutilsPlatformError: Microsoft Visual C++ 14.2 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: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
ordptt
  • 137
  • 4
  • maybe you have older version - or it can't find it and you would have to add foder with C/C++ compiler it environment variable `PATH` – furas Apr 21 '22 at 00:29
  • It may be the a problem with the environment variable you said. In that case, how would I solve it more specifically? – ordptt Apr 21 '22 at 00:34
  • I don't use Windows but somewhere in settings you could display and edit `PATH`. But maybe if you download and install again then it will ask you if add this folder to `PATH` – furas Apr 21 '22 at 01:13
  • You’re using a Pypy version too new. Pygame distributes pypy prebuilt wheels, but not for Pypy 3.9. Check pypi.org to see wheel availability, I think it’s only up to pypy3.7. The errors you’re facing are just that it’s trying to build from source. – Starbuck5 Apr 21 '22 at 01:48
  • @Starbuck5 Tried 3.7. and still couldn't install, and I can't use older versions properly as compilers in PyCharm. Don't know exactly why. – ordptt Apr 21 '22 at 03:03
  • @ordptt Pygame has a prebuilt for pypy 3.6 and 3.7 on Windows: https://pypi.org/project/pygame/#files – Starbuck5 Apr 21 '22 at 09:45
  • So in theory it should work. I don't use pypy, I haven't tried that. Your comment about pycharm makes me nervous though, because I've seen many people mistake the python interpreter settings and versioning in pycharm. Perhaps you weren't actually on pypy 3.7. – Starbuck5 Apr 21 '22 at 09:47
  • I am certainly using PyPy 3.7. as I created a virtual environment for it. I also tried downloading and installing some of the wheel files in the URL you sent, but it states that they are not "a supported wheel on this platform" (?) – ordptt Apr 21 '22 at 15:44

0 Answers0