Farama-Foundation / Arcade-Learning-Environment

The Arcade Learning Environment (ALE) -- a platform for AI research.
GNU General Public License v2.0
2.12k stars 420 forks source link

`pip install .` not working #454

Closed Markus28 closed 2 years ago

Markus28 commented 2 years ago

I tried building ALE from the repository via pip install . (no -e)

I encounter essentially the same problem as this: https://github.com/mgbellemare/Arcade-Learning-Environment/issues/425 The full stack trace is at the bottom. I am running:

I'm not sure what's going wrong. Hopefully, I'm not missing anything obvious!

Building wheels for collected packages: ale-py
  Building wheel for ale-py (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for ale-py (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [92 lines of output]
      /tmp/pip-build-env-fa_brl8p/overlay/lib/python3.10/site-packages/setuptools/dist.py:757: UserWarning: Usage of dash-separated 'home-page' will not be supported in future versions. Please use the underscore name 'home_page' instead
        warnings.warn(
      /tmp/pip-build-env-fa_brl8p/overlay/lib/python3.10/site-packages/setuptools/config/expand.py:144: UserWarning: File '/home/markus/OpenSourceDev/Arcade-Learning-Environment/README.md CHANGELOG.md LICENSE.md' cannot be found
        warnings.warn(f"File {path!r} cannot be found")
      running bdist_wheel
      running build
      running build_py
      creating build/lib.linux-x86_64-3.10
      creating build/lib.linux-x86_64-3.10/ale_py
      copying src/python/gym.py -> build/lib.linux-x86_64-3.10/ale_py
      copying src/python/__init__.py -> build/lib.linux-x86_64-3.10/ale_py
      creating build/lib.linux-x86_64-3.10/ale_py/roms
      copying src/python/roms/__init__.py -> build/lib.linux-x86_64-3.10/ale_py/roms
      copying src/python/roms/utils.py -> build/lib.linux-x86_64-3.10/ale_py/roms
      creating build/lib.linux-x86_64-3.10/ale_py/scripts
      copying src/python/scripts/import_roms.py -> build/lib.linux-x86_64-3.10/ale_py/scripts
      copying src/python/scripts/__init__.py -> build/lib.linux-x86_64-3.10/ale_py/scripts
      creating build/lib.linux-x86_64-3.10/gym
      creating build/lib.linux-x86_64-3.10/gym/envs
      creating build/lib.linux-x86_64-3.10/gym/envs/atari
      copying src/gym/envs/atari/environment.py -> build/lib.linux-x86_64-3.10/gym/envs/atari
      copying src/gym/envs/atari/__init__.py -> build/lib.linux-x86_64-3.10/gym/envs/atari
      copying src/python/roms/tetris.bin -> build/lib.linux-x86_64-3.10/ale_py/roms
      running build_ext
      CMake Error at CMakeLists.txt:59 (project):
        Running

         '/tmp/pip-build-env-up_1fayz/overlay/bin/ninja' '--version'

        failed with:

         No such file or directory

      -- Configuring incomplete, errors occurred!
      See also "/home/markus/OpenSourceDev/Arcade-Learning-Environment/build/temp.linux-x86_64-3.10/CMakeFiles/CMakeOutput.log".
      Traceback (most recent call last):
        File "/home/markus/OpenSourceDev/venvs/ale_env/lib64/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in <module>
          main()
        File "/home/markus/OpenSourceDev/venvs/ale_env/lib64/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/home/markus/OpenSourceDev/venvs/ale_env/lib64/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 261, in build_wheel
          return _build_backend().build_wheel(wheel_directory, config_settings,
        File "/tmp/pip-build-env-fa_brl8p/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 244, in build_wheel
          return self._build_with_temp_dir(['bdist_wheel'], '.whl',
        File "/tmp/pip-build-env-fa_brl8p/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 229, in _build_with_temp_dir
          self.run_setup()
        File "/tmp/pip-build-env-fa_brl8p/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 174, in run_setup
          exec(compile(code, __file__, 'exec'), locals())
        File "setup.py", line 173, in <module>
          setup(
        File "/tmp/pip-build-env-fa_brl8p/overlay/lib/python3.10/site-packages/setuptools/__init__.py", line 87, in setup
          return distutils.core.setup(**attrs)
        File "/tmp/pip-build-env-fa_brl8p/overlay/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 148, in setup
          return run_commands(dist)
        File "/tmp/pip-build-env-fa_brl8p/overlay/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 163, in run_commands
          dist.run_commands()
        File "/tmp/pip-build-env-fa_brl8p/overlay/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 967, in run_commands
          self.run_command(cmd)
        File "/tmp/pip-build-env-fa_brl8p/overlay/lib/python3.10/site-packages/setuptools/dist.py", line 1214, in run_command
          super().run_command(command)
        File "/tmp/pip-build-env-fa_brl8p/overlay/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
          cmd_obj.run()
        File "/tmp/pip-build-env-fa_brl8p/overlay/lib/python3.10/site-packages/wheel/bdist_wheel.py", line 299, in run
          self.run_command('build')
        File "/tmp/pip-build-env-fa_brl8p/overlay/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 313, in run_command
          self.distribution.run_command(command)
        File "/tmp/pip-build-env-fa_brl8p/overlay/lib/python3.10/site-packages/setuptools/dist.py", line 1214, in run_command
          super().run_command(command)
        File "/tmp/pip-build-env-fa_brl8p/overlay/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
          cmd_obj.run()
        File "/tmp/pip-build-env-fa_brl8p/overlay/lib/python3.10/site-packages/setuptools/_distutils/command/build.py", line 135, in run
          self.run_command(cmd_name)
        File "/tmp/pip-build-env-fa_brl8p/overlay/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 313, in run_command
          self.distribution.run_command(command)
        File "/tmp/pip-build-env-fa_brl8p/overlay/lib/python3.10/site-packages/setuptools/dist.py", line 1214, in run_command
          super().run_command(command)
        File "/tmp/pip-build-env-fa_brl8p/overlay/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
          cmd_obj.run()
        File "/tmp/pip-build-env-fa_brl8p/overlay/lib/python3.10/site-packages/setuptools/command/build_ext.py", line 79, in run
          _build_ext.run(self)
        File "/tmp/pip-build-env-fa_brl8p/overlay/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 339, in run
          self.build_extensions()
        File "/tmp/pip-build-env-fa_brl8p/overlay/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 448, in build_extensions
          self._build_extensions_serial()
        File "/tmp/pip-build-env-fa_brl8p/overlay/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 473, in _build_extensions_serial
          self.build_extension(ext)
        File "setup.py", line 116, in build_extension
          subprocess.check_call(
        File "/usr/lib64/python3.10/subprocess.py", line 369, in check_call
          raise CalledProcessError(retcode, cmd)
      subprocess.CalledProcessError: Command '['cmake', '/home/markus/OpenSourceDev/Arcade-Learning-Environment', '-DCMAKE_BUILD_TYPE=Release', '-DPython3_EXECUTABLE=/home/markus/OpenSourceDev/venvs/ale_env/bin/python', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/home/markus/OpenSourceDev/Arcade-Learning-Environment/build/lib.linux-x86_64-3.10/ale_py/', '-DSDL_SUPPORT=ON', '-DSDL_DYNLOAD=ON', '-DBUILD_CPP_LIB=OFF', '-DBUILD_PYTHON_LIB=ON', '-GNinja']' returned non-zero exit status 1.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for ale-py
Failed to build ale-py
ERROR: Could not build wheels for ale-py, which is required to install pyproject.toml-based projects
JesseFarebro commented 2 years ago

Hmm, so there was some changes to setuptools that broke our setup script. This is now fixed in 80de84294bcfc2503c85385afc56734c4baa40ba. Make sure to clean your build directory, i.e., rm -rf build/ and then try pip install . again.