openai / atari-py Goto Github PK
View Code? Open in Web Editor NEWA packaged and slightly-modified version of https://github.com/bbitmaster/ale_python_interface
License: GNU General Public License v2.0
A packaged and slightly-modified version of https://github.com/bbitmaster/ale_python_interface
License: GNU General Public License v2.0
repl> import atari_py
repl> from atari_py.ale_python_interface import ALEInterface
repl> game_path = atari_py.get_game_path('amidar')
repl> ale = ALEInterface()
repl> ale.loadROM(str.encode(game_path))
repl> ale.act(2)
repl> ale.saveScreenPNG(str.encode('fooo.png'))
Assertion failed: ((val & 0x01) == 0), function getRGB, file /private/var/folders/bb/n7t3rs157850byt_jfdcq9k80000gn/T/pip-req-build-j05pw3nn/build/lib.macosx-10.6-intel-3.6/atari_py/ale_interface/src/common/ColourPalette.cpp, line 51.
Abort trap: 6
This error does not occur for Breakout, nor SpaceInvaders. Using atari-py (0.1.1) with python 3.5.2.
The pypi tarball doesn't have the GNU License packaged with it - for future uses, it could be helpful if it was including in that source! Thanks :)
Been trying different things to get this to install and can't on either Ubuntu 17.10 or 16.04. I'm not attached to Ubuntu, so if this works easier on a different version of Linux, I'll switch to that. I have cmake installed, but unsure of how to fix this error.
Trying to install in a virtual environment using command: sudo pip3 install atari-py
Error:
Collecting atari-py
Downloading atari-py-0.1.1.tar.gz (760kB)
100% |████████████████████████████████| 768kB 1.4MB/s
Requirement already satisfied: numpy in /usr/local/lib/python3.6/dist-packages (from atari-py)
Requirement already satisfied: six in /usr/local/lib/python3.6/dist-packages (from atari-py)
Installing collected packages: atari-py
Running setup.py install for atari-py ... error
Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;file='/tmp/pip-build-gyj9tscz/atari-py/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-8zeepm_h-record/install-record.txt --single-version-externally-managed --compile:
running install
running build
make: Entering directory '/tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface'
mkdir -p build && cd build && cmake .. && make -j4
-- The C compiler identification is GNU 7.2.0
-- The CXX compiler identification is GNU 7.2.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Warning (dev) at CMakeLists.txt:210 (FILE):
Policy CMP0053 is not set: Simplify variable reference and escape sequence
evaluation. Run "cmake --help-policy CMP0053" for policy details. Use the
cmake_policy command to set the policy and suppress this warning.
For input:
'
IF(NOT EXISTS \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\")
MESSAGE(FATAL_ERROR \"Cannot find install manifest: @CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\")
ENDIF(NOT EXISTS \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\")
FILE(READ \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\" files)
STRING(REGEX REPLACE \"\\n\" \";\" files \"\${files}\")
FOREACH(file \${files})
MESSAGE(STATUS \"Uninstalling \"\$ENV{DESTDIR}\${file}\"\")
IF(EXISTS \"\$ENV{DESTDIR}\${file}\")
EXEC_PROGRAM(
\"@CMAKE_COMMAND@\" ARGS \"-E remove \"\$ENV{DESTDIR}\${file}\"\"
OUTPUT_VARIABLE rm_out
RETURN_VALUE rm_retval
)
IF(NOT \"\${rm_retval}\" STREQUAL 0)
MESSAGE(FATAL_ERROR \"Problem when removing \"\$ENV{DESTDIR}\${file}\"\")
ENDIF(NOT \"\${rm_retval}\" STREQUAL 0)
ELSE(EXISTS \"\$ENV{DESTDIR}\${file}\")
MESSAGE(STATUS \"File \"\$ENV{DESTDIR}\${file}\" does not exist.\")
ENDIF(EXISTS \"\$ENV{DESTDIR}\${file}\")
ENDFOREACH(file)
'
the old evaluation rules produce:
'
IF(NOT EXISTS "/tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/build/install_manifest.txt")
MESSAGE(FATAL_ERROR "Cannot find install manifest: /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/build/install_manifest.txt")
ENDIF(NOT EXISTS "/tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/build/install_manifest.txt")
FILE(READ "/tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/build/install_manifest.txt" files)
STRING(REGEX REPLACE "\n" ";" files "${files}")
FOREACH(file ${files})
MESSAGE(STATUS "Uninstalling "$ENV{DESTDIR}${file}"")
IF(EXISTS "$ENV{DESTDIR}${file}")
EXEC_PROGRAM(
"/usr/bin/cmake" ARGS "-E remove "$ENV{DESTDIR}${file}""
OUTPUT_VARIABLE rm_out
RETURN_VALUE rm_retval
)
IF(NOT "${rm_retval}" STREQUAL 0)
MESSAGE(FATAL_ERROR "Problem when removing "$ENV{DESTDIR}${file}"")
ENDIF(NOT "${rm_retval}" STREQUAL 0)
ELSE(EXISTS "$ENV{DESTDIR}${file}")
MESSAGE(STATUS "File "$ENV{DESTDIR}${file}" does not exist.")
ENDIF(EXISTS "$ENV{DESTDIR}${file}")
ENDFOREACH(file)
'
but the new evaluation rules produce:
'
IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
MESSAGE(FATAL_ERROR "Cannot find install manifest: @CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
STRING(REGEX REPLACE "\n" ";" files "${files}")
FOREACH(file ${files})
MESSAGE(STATUS "Uninstalling "$ENV{DESTDIR}${file}"")
IF(EXISTS "$ENV{DESTDIR}${file}")
EXEC_PROGRAM(
"@CMAKE_COMMAND@" ARGS "-E remove "$ENV{DESTDIR}${file}""
OUTPUT_VARIABLE rm_out
RETURN_VALUE rm_retval
)
IF(NOT "${rm_retval}" STREQUAL 0)
MESSAGE(FATAL_ERROR "Problem when removing "$ENV{DESTDIR}${file}"")
ENDIF(NOT "${rm_retval}" STREQUAL 0)
ELSE(EXISTS "$ENV{DESTDIR}${file}")
MESSAGE(STATUS "File "$ENV{DESTDIR}${file}" does not exist.")
ENDIF(EXISTS "$ENV{DESTDIR}${file}")
ENDFOREACH(file)
'
Using the old result for compatibility since the policy is not set.
This warning is for project developers. Use -Wno-dev to suppress it.
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/build
make[1]: Entering directory '/tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/build'
make[1]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/build'
make[3]: Entering directory '/tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/build'
Scanning dependencies of target ale-c-lib
make[3]: Leaving directory '/tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/build'
make[3]: Entering directory '/tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/build'
[ 1%] Building CXX object CMakeFiles/ale-c-lib.dir/tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_c_wrapper.cpp.o
[ 1%] Building CXX object CMakeFiles/ale-c-lib.dir/src/common/ColourPalette.cpp.o
[ 1%] Building CXX object CMakeFiles/ale-c-lib.dir/src/common/Constants.cpp.o
[ 2%] Building CXX object CMakeFiles/ale-c-lib.dir/src/ale_interface.cpp.o
[ 3%] Building CXX object CMakeFiles/ale-c-lib.dir/src/common/Log.cpp.o
In file included from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.hpp:41:0,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_c_wrapper.h:4,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_c_wrapper.cpp:1:
/tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/environment/stella_environment.hpp:117:10: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
std::auto_ptr<ScreenExporter> m_screen_exporter; // Automatic screen recorder
^~~~~~~~
In file included from /usr/include/c++/7/bits/locale_conv.h:41:0,
from /usr/include/c++/7/locale:43,
from /usr/include/c++/7/iomanip:43,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/../emucore/m6502/src/bspf/src/bspf.hxx:50,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/Array.hxx:27,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/FSNode.hxx:57,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.hpp:33,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_c_wrapper.h:4,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_c_wrapper.cpp:1:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
In file included from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.hpp:41:0,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.cpp:30:
/tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/environment/stella_environment.hpp:117:10: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
std::auto_ptr<ScreenExporter> m_screen_exporter; // Automatic screen recorder
^~~~~~~~
In file included from /usr/include/c++/7/bits/locale_conv.h:41:0,
from /usr/include/c++/7/locale:43,
from /usr/include/c++/7/iomanip:43,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/../emucore/m6502/src/bspf/src/bspf.hxx:50,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/Array.hxx:27,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/FSNode.hxx:57,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.hpp:33,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.cpp:30:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
In file included from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_c_wrapper.h:4:0,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_c_wrapper.cpp:1:
/tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.hpp:153:8: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
std::auto_ptr<OSystem> theOSystem;
^~~~~~~~
In file included from /usr/include/c++/7/bits/locale_conv.h:41:0,
from /usr/include/c++/7/locale:43,
from /usr/include/c++/7/iomanip:43,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/../emucore/m6502/src/bspf/src/bspf.hxx:50,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/Array.hxx:27,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/FSNode.hxx:57,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.hpp:33,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_c_wrapper.h:4,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_c_wrapper.cpp:1:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
In file included from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_c_wrapper.h:4:0,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_c_wrapper.cpp:1:
/tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.hpp:154:8: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
std::auto_ptr<Settings> theSettings;
^~~~~~~~
In file included from /usr/include/c++/7/bits/locale_conv.h:41:0,
from /usr/include/c++/7/locale:43,
from /usr/include/c++/7/iomanip:43,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/../emucore/m6502/src/bspf/src/bspf.hxx:50,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/Array.hxx:27,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/FSNode.hxx:57,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.hpp:33,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_c_wrapper.h:4,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_c_wrapper.cpp:1:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
In file included from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_c_wrapper.h:4:0,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_c_wrapper.cpp:1:
/tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.hpp:155:8: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
std::auto_ptr<RomSettings> romSettings;
^~~~~~~~
In file included from /usr/include/c++/7/bits/locale_conv.h:41:0,
from /usr/include/c++/7/locale:43,
from /usr/include/c++/7/iomanip:43,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/../emucore/m6502/src/bspf/src/bspf.hxx:50,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/Array.hxx:27,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/FSNode.hxx:57,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.hpp:33,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_c_wrapper.h:4,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_c_wrapper.cpp:1:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
In file included from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.cpp:30:0:
/tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.hpp:153:8: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
std::auto_ptr<OSystem> theOSystem;
^~~~~~~~
In file included from /usr/include/c++/7/bits/locale_conv.h:41:0,
from /usr/include/c++/7/locale:43,
from /usr/include/c++/7/iomanip:43,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/../emucore/m6502/src/bspf/src/bspf.hxx:50,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/Array.hxx:27,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/FSNode.hxx:57,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.hpp:33,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.cpp:30:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
In file included from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_c_wrapper.h:4:0,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_c_wrapper.cpp:1:
/tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.hpp:156:8: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
std::auto_ptr<StellaEnvironment> environment;
^~~~~~~~
In file included from /usr/include/c++/7/bits/locale_conv.h:41:0,
from /usr/include/c++/7/locale:43,
from /usr/include/c++/7/iomanip:43,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/../emucore/m6502/src/bspf/src/bspf.hxx:50,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/Array.hxx:27,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/FSNode.hxx:57,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.hpp:33,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_c_wrapper.h:4,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_c_wrapper.cpp:1:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
In file included from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.cpp:30:0:
/tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.hpp:154:8: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
std::auto_ptr<Settings> theSettings;
^~~~~~~~
In file included from /usr/include/c++/7/bits/locale_conv.h:41:0,
from /usr/include/c++/7/locale:43,
from /usr/include/c++/7/iomanip:43,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/../emucore/m6502/src/bspf/src/bspf.hxx:50,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/Array.hxx:27,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/FSNode.hxx:57,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.hpp:33,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.cpp:30:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
In file included from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_c_wrapper.h:4:0,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_c_wrapper.cpp:1:
/tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.hpp:163:34: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
static void createOSystem(std::auto_ptr<OSystem> &theOSystem,
^~~~~~~~
In file included from /usr/include/c++/7/bits/locale_conv.h:41:0,
from /usr/include/c++/7/locale:43,
from /usr/include/c++/7/iomanip:43,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/../emucore/m6502/src/bspf/src/bspf.hxx:50,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/Array.hxx:27,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/FSNode.hxx:57,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.hpp:33,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_c_wrapper.h:4,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_c_wrapper.cpp:1:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
In file included from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_c_wrapper.h:4:0,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_c_wrapper.cpp:1:
/tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.hpp:164:34: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
std::auto_ptr<Settings> &theSettings);
^~~~~~~~
In file included from /usr/include/c++/7/bits/locale_conv.h:41:0,
from /usr/include/c++/7/locale:43,
from /usr/include/c++/7/iomanip:43,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/../emucore/m6502/src/bspf/src/bspf.hxx:50,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/Array.hxx:27,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/FSNode.hxx:57,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.hpp:33,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_c_wrapper.h:4,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_c_wrapper.cpp:1:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
In file included from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.cpp:30:0:
/tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.hpp:155:8: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
std::auto_ptr<RomSettings> romSettings;
^~~~~~~~
In file included from /usr/include/c++/7/bits/locale_conv.h:41:0,
from /usr/include/c++/7/locale:43,
from /usr/include/c++/7/iomanip:43,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/../emucore/m6502/src/bspf/src/bspf.hxx:50,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/Array.hxx:27,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/FSNode.hxx:57,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.hpp:33,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.cpp:30:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
In file included from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_c_wrapper.h:4:0,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_c_wrapper.cpp:1:
/tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.hpp:166:33: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
std::auto_ptr<OSystem> &theOSystem);
^~~~~~~~
In file included from /usr/include/c++/7/bits/locale_conv.h:41:0,
from /usr/include/c++/7/locale:43,
from /usr/include/c++/7/iomanip:43,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/../emucore/m6502/src/bspf/src/bspf.hxx:50,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/Array.hxx:27,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/FSNode.hxx:57,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.hpp:33,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_c_wrapper.h:4,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_c_wrapper.cpp:1:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
In file included from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.cpp:30:0:
/tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.hpp:156:8: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
std::auto_ptr<StellaEnvironment> environment;
^~~~~~~~
In file included from /usr/include/c++/7/bits/locale_conv.h:41:0,
from /usr/include/c++/7/locale:43,
from /usr/include/c++/7/iomanip:43,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/../emucore/m6502/src/bspf/src/bspf.hxx:50,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/Array.hxx:27,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/FSNode.hxx:57,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.hpp:33,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.cpp:30:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
In file included from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.cpp:30:0:
/tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.hpp:163:34: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
static void createOSystem(std::auto_ptr<OSystem> &theOSystem,
^~~~~~~~
In file included from /usr/include/c++/7/bits/locale_conv.h:41:0,
from /usr/include/c++/7/locale:43,
from /usr/include/c++/7/iomanip:43,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/../emucore/m6502/src/bspf/src/bspf.hxx:50,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/Array.hxx:27,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/FSNode.hxx:57,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.hpp:33,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.cpp:30:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
In file included from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.cpp:30:0:
/tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.hpp:164:34: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
std::auto_ptr<Settings> &theSettings);
^~~~~~~~
In file included from /usr/include/c++/7/bits/locale_conv.h:41:0,
from /usr/include/c++/7/locale:43,
from /usr/include/c++/7/iomanip:43,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/../emucore/m6502/src/bspf/src/bspf.hxx:50,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/Array.hxx:27,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/FSNode.hxx:57,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.hpp:33,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.cpp:30:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
In file included from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.cpp:30:0:
/tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.hpp:166:33: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
std::auto_ptr<OSystem> &theOSystem);
^~~~~~~~
In file included from /usr/include/c++/7/bits/locale_conv.h:41:0,
from /usr/include/c++/7/locale:43,
from /usr/include/c++/7/iomanip:43,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/../emucore/m6502/src/bspf/src/bspf.hxx:50,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/Array.hxx:27,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/FSNode.hxx:57,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.hpp:33,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.cpp:30:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
/tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.cpp:55:39: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
void ALEInterface::createOSystem(std::auto_ptr<OSystem> &theOSystem,
^~~~~~~~
In file included from /usr/include/c++/7/bits/locale_conv.h:41:0,
from /usr/include/c++/7/locale:43,
from /usr/include/c++/7/iomanip:43,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/../emucore/m6502/src/bspf/src/bspf.hxx:50,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/Array.hxx:27,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/FSNode.hxx:57,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.hpp:33,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.cpp:30:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
/tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.cpp:56:32: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
std::auto_ptr<Settings> &theSettings) {
^~~~~~~~
In file included from /usr/include/c++/7/bits/locale_conv.h:41:0,
from /usr/include/c++/7/locale:43,
from /usr/include/c++/7/iomanip:43,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/../emucore/m6502/src/bspf/src/bspf.hxx:50,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/Array.hxx:27,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/FSNode.hxx:57,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.hpp:33,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.cpp:30:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
/tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.cpp:69:38: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
std::auto_ptr<OSystem> &theOSystem) {
^~~~~~~~
In file included from /usr/include/c++/7/bits/locale_conv.h:41:0,
from /usr/include/c++/7/locale:43,
from /usr/include/c++/7/iomanip:43,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/../emucore/m6502/src/bspf/src/bspf.hxx:50,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/../common/Array.hxx:27,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/emucore/FSNode.hxx:57,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.hpp:33,
from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/ale_interface.cpp:30:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
[ 4%] Building CXX object CMakeFiles/ale-c-lib.dir/src/common/ScreenExporter.cpp.o
In file included from /tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_c_wrapper.cpp:1:0:
/tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_c_wrapper.h: In function ‘void getScreenRGB2(ALEInterface*, unsigned char*)’:
/tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_c_wrapper.h:71:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for(int i = 0;i < screen_size;i++){
~~^~~~~~~~~~~~~
/tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/src/common/ScreenExporter.cpp:18:10: fatal error: zlib.h: No such file or directory
#include <zlib.h>
^~~~~~~~
compilation terminated.
CMakeFiles/ale-c-lib.dir/build.make:182: recipe for target 'CMakeFiles/ale-c-lib.dir/src/common/ScreenExporter.cpp.o' failed
make[3]: *** [CMakeFiles/ale-c-lib.dir/src/common/ScreenExporter.cpp.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory '/tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/build'
CMakeFiles/Makefile2:99: recipe for target 'CMakeFiles/ale-c-lib.dir/all' failed
make[2]: *** [CMakeFiles/ale-c-lib.dir/all] Error 2
make[2]: Leaving directory '/tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/build'
Makefile:129: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface/build'
Makefile:4: recipe for target 'build' failed
make: *** [build] Error 2
make: Leaving directory '/tmp/pip-build-gyj9tscz/atari-py/atari_py/ale_interface'
Could not build atari-py: Command '['make', 'build', '-C', 'atari_py/ale_interface', '-j', '3']' returned non-zero exit status 2.. (HINT: are you sure cmake is installed? You might also be missing a library. Atari-py requires: zlib [installable as 'apt-get install zlib1g-dev' on Ubuntu].)
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-gyj9tscz/atari-py/setup.py", line 36, in <module>
tests_require=['nose2']
File "/usr/local/lib/python3.6/dist-packages/setuptools/__init__.py", line 129, in setup
return distutils.core.setup(**attrs)
File "/usr/lib/python3.6/distutils/core.py", line 148, in setup
dist.run_commands()
File "/usr/lib/python3.6/distutils/dist.py", line 955, in run_commands
self.run_command(cmd)
File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/usr/local/lib/python3.6/dist-packages/setuptools/command/install.py", line 61, in run
return orig.install.run(self)
File "/usr/lib/python3.6/distutils/command/install.py", line 589, in run
self.run_command('build')
File "/usr/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/tmp/pip-build-gyj9tscz/atari-py/setup.py", line 16, in run
subprocess.check_call(cmd)
File "/usr/lib/python3.6/subprocess.py", line 291, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['make', 'build', '-C', 'atari_py/ale_interface', '-j', '3']' returned non-zero exit status 2.
----------------------------------------
Command "/usr/bin/python3 -u -c "import setuptools, tokenize;file='/tmp/pip-build-gyj9tscz/atari-py/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-8zeepm_h-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-gyj9tscz/atari-py/
When I try to run make in atari-py/ I get this error:
make -C atari_py/ale_interface build
make[1]: Entering directory '/c/Users/Paul/atari-py/atari_py/ale_interface'
mkdir -p build && cd build && cmake .. && make -j4
-- Building for: Visual Studio 15 2017
-- Selecting Windows SDK version 10.0.16299.0 to target Windows 10.0.17134.
-- The C compiler identification is MSVC 19.13.26132.0
-- The CXX compiler identification is MSVC 19.13.26132.0
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.13.26128/bin/Hostx86/x86/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.13.26128/bin/Hostx86/x86/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.13.26128/bin/Hostx86/x86/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.13.26128/bin/Hostx86/x86/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Warning (dev) at CMakeLists.txt:210 (FILE):
Policy CMP0053 is not set: Simplify variable reference and escape sequence
evaluation. Run "cmake --help-policy CMP0053" for policy details. Use the
cmake_policy command to set the policy and suppress this warning.
For input:
'
IF(NOT EXISTS \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\")
MESSAGE(FATAL_ERROR \"Cannot find install manifest: @CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\")
ENDIF(NOT EXISTS \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\")
FILE(READ \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\" files)
STRING(REGEX REPLACE \"\\n\" \";\" files \"\${files}\")
FOREACH(file \${files})
MESSAGE(STATUS \"Uninstalling \"\$ENV{DESTDIR}\${file}\"\")
IF(EXISTS \"\$ENV{DESTDIR}\${file}\")
EXEC_PROGRAM(
\"@CMAKE_COMMAND@\" ARGS \"-E remove \"\$ENV{DESTDIR}\${file}\"\"
OUTPUT_VARIABLE rm_out
RETURN_VALUE rm_retval
)
IF(NOT \"\${rm_retval}\" STREQUAL 0)
MESSAGE(FATAL_ERROR \"Problem when removing \"\$ENV{DESTDIR}\${file}\"\")
ENDIF(NOT \"\${rm_retval}\" STREQUAL 0)
ELSE(EXISTS \"\$ENV{DESTDIR}\${file}\")
MESSAGE(STATUS \"File \"\$ENV{DESTDIR}\${file}\" does not exist.\")
ENDIF(EXISTS \"\$ENV{DESTDIR}\${file}\")
ENDFOREACH(file)
'
the old evaluation rules produce:
'
IF(NOT EXISTS "C:/Users/Paul/atari-py/atari_py/ale_interface/build/install_manifest.txt")
MESSAGE(FATAL_ERROR "Cannot find install manifest: C:/Users/Paul/atari-py/atari_py/ale_interface/build/install_manifest.txt")
ENDIF(NOT EXISTS "C:/Users/Paul/atari-py/atari_py/ale_interface/build/install_manifest.txt")
FILE(READ "C:/Users/Paul/atari-py/atari_py/ale_interface/build/install_manifest.txt" files)
STRING(REGEX REPLACE "\n" ";" files "${files}")
FOREACH(file ${files})
MESSAGE(STATUS "Uninstalling "$ENV{DESTDIR}${file}"")
IF(EXISTS "$ENV{DESTDIR}${file}")
EXEC_PROGRAM(
"C:/Program Files/CMake/bin/cmake.exe" ARGS "-E remove "$ENV{DESTDIR}${file}""
OUTPUT_VARIABLE rm_out
RETURN_VALUE rm_retval
)
IF(NOT "${rm_retval}" STREQUAL 0)
MESSAGE(FATAL_ERROR "Problem when removing "$ENV{DESTDIR}${file}"")
ENDIF(NOT "${rm_retval}" STREQUAL 0)
ELSE(EXISTS "$ENV{DESTDIR}${file}")
MESSAGE(STATUS "File "$ENV{DESTDIR}${file}" does not exist.")
ENDIF(EXISTS "$ENV{DESTDIR}${file}")
ENDFOREACH(file)
'
but the new evaluation rules produce:
'
IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
MESSAGE(FATAL_ERROR "Cannot find install manifest: @CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
STRING(REGEX REPLACE "\n" ";" files "${files}")
FOREACH(file ${files})
MESSAGE(STATUS "Uninstalling "$ENV{DESTDIR}${file}"")
IF(EXISTS "$ENV{DESTDIR}${file}")
EXEC_PROGRAM(
"@CMAKE_COMMAND@" ARGS "-E remove "$ENV{DESTDIR}${file}""
OUTPUT_VARIABLE rm_out
RETURN_VALUE rm_retval
)
IF(NOT "${rm_retval}" STREQUAL 0)
MESSAGE(FATAL_ERROR "Problem when removing "$ENV{DESTDIR}${file}"")
ENDIF(NOT "${rm_retval}" STREQUAL 0)
ELSE(EXISTS "$ENV{DESTDIR}${file}")
MESSAGE(STATUS "File "$ENV{DESTDIR}${file}" does not exist.")
ENDIF(EXISTS "$ENV{DESTDIR}${file}")
ENDFOREACH(file)
'
Using the old result for compatibility since the policy is not set.
This warning is for project developers. Use -Wno-dev to suppress it.
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/Paul/atari-py/atari_py/ale_interface/build
make[2]: Entering directory '/c/Users/Paul/atari-py/atari_py/ale_interface/build'
make[2]: *** No targets specified and no makefile found. Stop.
make[2]: Leaving directory '/c/Users/Paul/atari-py/atari_py/ale_interface/build'
make[1]: *** [Makefile:4: build] Error 2
make[1]: Leaving directory '/c/Users/Paul/atari-py/atari_py/ale_interface'
make: *** [makefile:4: build] Error 2
I have both Make and Cmake installed through msys2, and I followed this article:
https://github.com/j8lp/atari-py
I got an error at pip install -U atari-py
, and the same error when trying to build from master :
running build
make: Entering directory '/home/dargor/contrib/atari-py/atari_py/ale_interface'
mkdir -p build && cd build && cmake .. && make -j4
CMake Warning (dev) at CMakeLists.txt:210 (FILE):
Policy CMP0053 is not set: Simplify variable reference and escape sequence
evaluation. Run "cmake --help-policy CMP0053" for policy details. Use the
cmake_policy command to set the policy and suppress this warning.
For input:
'
IF(NOT EXISTS \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\")
MESSAGE(FATAL_ERROR \"Cannot find install manifest: @CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\")
ENDIF(NOT EXISTS \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\")
FILE(READ \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\" files)
STRING(REGEX REPLACE \"\\n\" \";\" files \"\${files}\")
FOREACH(file \${files})
MESSAGE(STATUS \"Uninstalling \"\$ENV{DESTDIR}\${file}\"\")
IF(EXISTS \"\$ENV{DESTDIR}\${file}\")
EXEC_PROGRAM(
\"@CMAKE_COMMAND@\" ARGS \"-E remove \"\$ENV{DESTDIR}\${file}\"\"
OUTPUT_VARIABLE rm_out
RETURN_VALUE rm_retval
)
IF(NOT \"\${rm_retval}\" STREQUAL 0)
MESSAGE(FATAL_ERROR \"Problem when removing \"\$ENV{DESTDIR}\${file}\"\")
ENDIF(NOT \"\${rm_retval}\" STREQUAL 0)
ELSE(EXISTS \"\$ENV{DESTDIR}\${file}\")
MESSAGE(STATUS \"File \"\$ENV{DESTDIR}\${file}\" does not exist.\")
ENDIF(EXISTS \"\$ENV{DESTDIR}\${file}\")
ENDFOREACH(file)
'
the old evaluation rules produce:
'
IF(NOT EXISTS "/home/dargor/contrib/atari-py/atari_py/ale_interface/build/install_manifest.txt")
MESSAGE(FATAL_ERROR "Cannot find install manifest: /home/dargor/contrib/atari-py/atari_py/ale_interface/build/install_manifest.txt")
ENDIF(NOT EXISTS "/home/dargor/contrib/atari-py/atari_py/ale_interface/build/install_manifest.txt")
FILE(READ "/home/dargor/contrib/atari-py/atari_py/ale_interface/build/install_manifest.txt" files)
STRING(REGEX REPLACE "\n" ";" files "${files}")
FOREACH(file ${files})
MESSAGE(STATUS "Uninstalling "$ENV{DESTDIR}${file}"")
IF(EXISTS "$ENV{DESTDIR}${file}")
EXEC_PROGRAM(
"/usr/bin/cmake" ARGS "-E remove "$ENV{DESTDIR}${file}""
OUTPUT_VARIABLE rm_out
RETURN_VALUE rm_retval
)
IF(NOT "${rm_retval}" STREQUAL 0)
MESSAGE(FATAL_ERROR "Problem when removing "$ENV{DESTDIR}${file}"")
ENDIF(NOT "${rm_retval}" STREQUAL 0)
ELSE(EXISTS "$ENV{DESTDIR}${file}")
MESSAGE(STATUS "File "$ENV{DESTDIR}${file}" does not exist.")
ENDIF(EXISTS "$ENV{DESTDIR}${file}")
ENDFOREACH(file)
'
but the new evaluation rules produce:
'
IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
MESSAGE(FATAL_ERROR "Cannot find install manifest: @CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
STRING(REGEX REPLACE "\n" ";" files "${files}")
FOREACH(file ${files})
MESSAGE(STATUS "Uninstalling "$ENV{DESTDIR}${file}"")
IF(EXISTS "$ENV{DESTDIR}${file}")
EXEC_PROGRAM(
"@CMAKE_COMMAND@" ARGS "-E remove "$ENV{DESTDIR}${file}""
OUTPUT_VARIABLE rm_out
RETURN_VALUE rm_retval
)
IF(NOT "${rm_retval}" STREQUAL 0)
MESSAGE(FATAL_ERROR "Problem when removing "$ENV{DESTDIR}${file}"")
ENDIF(NOT "${rm_retval}" STREQUAL 0)
ELSE(EXISTS "$ENV{DESTDIR}${file}")
MESSAGE(STATUS "File "$ENV{DESTDIR}${file}" does not exist.")
ENDIF(EXISTS "$ENV{DESTDIR}${file}")
ENDFOREACH(file)
'
Using the old result for compatibility since the policy is not set.
This warning is for project developers. Use -Wno-dev to suppress it.
-- Configuring done
-- Generating done
-- Build files have been written to: /home/dargor/contrib/atari-py/atari_py/ale_interface/build
make[1]: Entering directory '/home/dargor/contrib/atari-py/atari_py/ale_interface/build'
make[1]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/home/dargor/contrib/atari-py/atari_py/ale_interface/build'
make[3]: Entering directory '/home/dargor/contrib/atari-py/atari_py/ale_interface/build'
make[3]: Leaving directory '/home/dargor/contrib/atari-py/atari_py/ale_interface/build'
make[3]: Entering directory '/home/dargor/contrib/atari-py/atari_py/ale_interface/build'
[ 0%] Building C object CMakeFiles/ale-c-lib.dir/src/emucore/unzip.c.o
[ 2%] Building CXX object CMakeFiles/ale-c-lib.dir/src/emucore/Cart3E.cxx.o
[ 2%] Building CXX object CMakeFiles/ale-c-lib.dir/src/emucore/Cart2K.cxx.o
[ 2%] Building CXX object CMakeFiles/ale-c-lib.dir/src/emucore/Cart3F.cxx.o
In file included from /home/dargor/contrib/atari-py/atari_py/ale_interface/src/emucore/unzip.c:13:0:
/home/dargor/contrib/atari-py/atari_py/ale_interface/src/emucore/unzip.h:114:45: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'OF'
extern int ZEXPORT unzStringFileNameCompare OF ((const char* fileName1,
^~
/home/dargor/contrib/atari-py/atari_py/ale_interface/src/emucore/unzip.h:127:32: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'OF'
extern unzFile ZEXPORT unzOpen OF((const char *path));
^~
/home/dargor/contrib/atari-py/atari_py/ale_interface/src/emucore/unzip.h:138:29: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'OF'
extern int ZEXPORT unzClose OF((unzFile file));
^~
/home/dargor/contrib/atari-py/atari_py/ale_interface/src/emucore/unzip.h:145:37: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'OF'
extern int ZEXPORT unzGetGlobalInfo OF((unzFile file,
^~
/home/dargor/contrib/atari-py/atari_py/ale_interface/src/emucore/unzip.h:153:40: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'OF'
extern int ZEXPORT unzGetGlobalComment OF((unzFile file,
^~
/home/dargor/contrib/atari-py/atari_py/ale_interface/src/emucore/unzip.h:166:37: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'OF'
extern int ZEXPORT unzGoToFirstFile OF((unzFile file));
^~
/home/dargor/contrib/atari-py/atari_py/ale_interface/src/emucore/unzip.h:172:36: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'OF'
extern int ZEXPORT unzGoToNextFile OF((unzFile file));
^~
/home/dargor/contrib/atari-py/atari_py/ale_interface/src/emucore/unzip.h:179:34: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'OF'
extern int ZEXPORT unzLocateFile OF((unzFile file,
^~
/home/dargor/contrib/atari-py/atari_py/ale_interface/src/emucore/unzip.h:192:42: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'OF'
extern int ZEXPORT unzGetCurrentFileInfo OF((unzFile file,
^~
/home/dargor/contrib/atari-py/atari_py/ale_interface/src/emucore/unzip.h:218:39: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'OF'
extern int ZEXPORT unzOpenCurrentFile OF((unzFile file));
^~
/home/dargor/contrib/atari-py/atari_py/ale_interface/src/emucore/unzip.h:224:40: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'OF'
extern int ZEXPORT unzCloseCurrentFile OF((unzFile file));
^~
/home/dargor/contrib/atari-py/atari_py/ale_interface/src/emucore/unzip.h:231:39: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'OF'
extern int ZEXPORT unzReadCurrentFile OF((unzFile file,
^~
/home/dargor/contrib/atari-py/atari_py/ale_interface/src/emucore/unzip.h:245:32: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'OF'
extern z_off_t ZEXPORT unztell OF((unzFile file));
^~
/home/dargor/contrib/atari-py/atari_py/ale_interface/src/emucore/unzip.h:250:27: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'OF'
extern int ZEXPORT unzeof OF((unzFile file));
^~
/home/dargor/contrib/atari-py/atari_py/ale_interface/src/emucore/unzip.h:255:42: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'OF'
extern int ZEXPORT unzGetLocalExtrafield OF((unzFile file,
^~
/home/dargor/contrib/atari-py/atari_py/ale_interface/src/emucore/unzip.c: In function 'unzOpen':
/home/dargor/contrib/atari-py/atari_py/ale_interface/src/emucore/unzip.c:419:5: warning: implicit declaration of function 'unzGoToFirstFile' [-Wimplicit-function-declaration]
unzGoToFirstFile((unzFile)s);
^~~~~~~~~~~~~~~~
/home/dargor/contrib/atari-py/atari_py/ale_interface/src/emucore/unzip.c: In function 'unzClose':
/home/dargor/contrib/atari-py/atari_py/ale_interface/src/emucore/unzip.c:437:9: warning: implicit declaration of function 'unzCloseCurrentFile' [-Wimplicit-function-declaration]
unzCloseCurrentFile(file);
^~~~~~~~~~~~~~~~~~~
/home/dargor/contrib/atari-py/atari_py/ale_interface/src/emucore/unzip.c: At top level:
/home/dargor/contrib/atari-py/atari_py/ale_interface/src/emucore/unzip.c:479:47: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'OF'
local int unzlocal_GetCurrentFileInfoInternal OF((unzFile file,
^~
make[3]: *** [CMakeFiles/ale-c-lib.dir/build.make:375: CMakeFiles/ale-c-lib.dir/src/emucore/unzip.c.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory '/home/dargor/contrib/atari-py/atari_py/ale_interface/build'
make[2]: *** [CMakeFiles/Makefile2:100: CMakeFiles/ale-c-lib.dir/all] Error 2
make[2]: Leaving directory '/home/dargor/contrib/atari-py/atari_py/ale_interface/build'
make[1]: *** [Makefile:130: all] Error 2
make[1]: Leaving directory '/home/dargor/contrib/atari-py/atari_py/ale_interface/build'
make: *** [Makefile:4: build] Error 2
make: Leaving directory '/home/dargor/contrib/atari-py/atari_py/ale_interface'
Could not build atari-py: Command '['make', 'build', '-C', 'atari_py/ale_interface', '-j', '3']' returned non-zero exit status 2.. (HINT: are you sure cmake is installed? You might also be missing a library. Atari-py requires: zlib [installable as 'apt-get install zlib1g-dev' on Ubuntu].)
Traceback (most recent call last):
File "setup.py", line 36, in <module>
tests_require=['nose2']
File "/home/dargor/python36/lib/python3.6/site-packages/setuptools/__init__.py", line 129, in setup
return distutils.core.setup(**attrs)
File "/home/dargor/python36/lib/python3.6/distutils/core.py", line 148, in setup
dist.run_commands()
File "/home/dargor/python36/lib/python3.6/distutils/dist.py", line 955, in run_commands
self.run_command(cmd)
File "/home/dargor/python36/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/home/dargor/python36/lib/python3.6/site-packages/wheel/bdist_wheel.py", line 202, in run
self.run_command('build')
File "/home/dargor/python36/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/dargor/python36/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "setup.py", line 16, in run
subprocess.check_call(cmd)
File "/home/dargor/python36/lib/python3.6/subprocess.py", line 291, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['make', 'build', '-C', 'atari_py/ale_interface', '-j', '3']' returned non-zero exit status 2.
Any clue about what is going on here ?
Software versions :
gcc (Gentoo 6.4.0-r1 p1.3) 6.4.0
cmake version 3.9.6
Python 3.6.5
pip install -e .
Installing collected packages: atari-py
Found existing installation: atari-py 0.1.1
Uninstalling atari-py-0.1.1:
Successfully uninstalled atari-py-0.1.1
Running setup.py develop for atari-py
Complete output from command /Users/csh/miniconda3/bin/python -c "import setuptools, tokenize;__file__='/Users/csh/agi/atari-py/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" develop --no-deps:
running develop
running egg_info
writing atari_py.egg-info/PKG-INFO
writing dependency_links to atari_py.egg-info/dependency_links.txt
writing requirements to atari_py.egg-info/requires.txt
writing top-level names to atari_py.egg-info/top_level.txt
reading manifest file 'atari_py.egg-info/SOURCES.txt'
writing manifest file 'atari_py.egg-info/SOURCES.txt'
running build_ext
Unable to execute 'make build -C atari_py/ale_interface -j 7'. HINT: are you sure `make` is installed?
error: [Errno 2] No such file or directory: 'build/lib.macosx-10.7-x86_64-3.6': 'build/lib.macosx-10.7-x86_64-3.6'
----------------------------------------
Rolling back uninstall of atari-py
It works if I remove the cwd
parameter from https://github.com/openai/atari-py/blob/master/setup.py#L16
Since we use GCS internally, this would be nice to have. This would be trivial (just do what retro does https://github.com/openai/retro) except that travis windows support is missing secure environment variables: https://travis-ci.community/t/current-known-issues-please-read-this-before-posting-a-new-topic/264
We could also stick to s3 until they fix this.
Hello!
This repo seems to be quite dead; but I'd love if there was prebuilt wheel for Python 3.8. It seems to build fine if you pip install; but it takes quite a long while. I tried updating the cloud build but I couldn't quite get all the scripts and states to work. I'll happily do the work as far as I can if it'll get accepted, but I can't likely make the final push for it.
We should update the version of ALE used in atari-py to get at least the following changes:
This might be a good chance to re-structure the repo as a fork of ALE instead of manually updating.
To dump(clone) or load(restore) underlying game state, one can use the following methods:
e_state = env.unwrapped.clone_state() # returns a 1-D vector
env.unwrapped.restore_state(e_state)
The clone_state()
and restore_state()
functions are actually from gym
(see atari_env.py
). However it is simply calling ALE's cloneState()
and decodeState()
.
The issue is: after restoring game state, screens and RAM entries are NOT updated. To my best of knowledge they are ONLY updated after reset()
and step()
. As a result, we only end up getting last frame/RAM information before reset.
e = make_atari('SeaquestNoFrameskip-v4')
# Initialize:
e.reset()
for i in range(100):
s, _, _, _ = e.step(0) # stay, no-op
plt.imshow(s)
plt.show()
e_state = e.unwrapped.clone_state()
print("Saved state (the submarine is on the surface) :", e_state.shape)
print("RAM state: ", e.unwrapped.ale.getRAM()[:16])
print("------------------------------------\n\n")
for i in range(100):
s, _, _, _ = e.step(5) # go down
print("After 100 actions, now the submarine is at the floor.")
plt.imshow(s)
plt.show()
print("RAM state: ", e.unwrapped.ale.getRAM()[:16])
print("------------------------------------\n\n")
print("Now let's restore. The submarine should be on the surface")
e.unwrapped.restore_state(e_state)
s = e.render('rgb_array') # not restored according to e_state
#s, _, _, _ = e.step(0) # re-rendered to 1-step after e_state
plt.imshow(s)
plt.show()
print("RAM state: ", e.unwrapped.ale.getRAM()[:16])
One can see that the rendered frame (which is from getScreenRGB2()
) is not updated. It should correspond to the observation of the dumped game state, but it is not. Same thing for RAM.
However, restoring game state itself works well. You can verify that by taking additional one environment step (e.g. e.step(0)
as commented).
I believe this is an issue where we need to fix ALE C++ implementation, but for right now I am just reporting the issue. Any idea? Thanks!
I can't find any license information for the Atari ROMs shipped in this repository.
Is there any information that could clarify this?
Thanks!
When calling env.step(action)
, is there a way to return the actually executed action when repeat_action_probability
!= 0?
The rom for surround is missing.
@christopherhesse Would it be possible to add this to allow comparison to DeepMind papers? Or perhaps, if it's there and I missed, how can I use it? Gym doesn't find an env `Surround-v0'.
OS: ubuntu 18.04
python: python3.6.9
atari-py: 0.3.0
i tried decompressing the rom once (producing 2 zip files) and twice (producing two folders). each time i tried python -m atari_py.import_roms .
after unzipping but got the same error:
copying adventure.bin from HC ROMS/BY ALPHABET (PAL)/A-G/Adventure (PAL).bin to /home/m/miscel/rl-play/rl-baselines-zoo/venv/lib/python3.6/site-packages/atari_py/atari_roms/adventure.bin
Traceback (most recent call last):
File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/m/miscel/rl-play/rl-baselines-zoo/venv/lib/python3.6/site-packages/atari_py/import_roms.py", line 93, in <module>
main()
File "/home/m/miscel/rl-play/rl-baselines-zoo/venv/lib/python3.6/site-packages/atari_py/import_roms.py", line 89, in main
import_roms(args.dirpath)
File "/home/m/miscel/rl-play/rl-baselines-zoo/venv/lib/python3.6/site-packages/atari_py/import_roms.py", line 78, in import_roms
_check_zipfile(f, save_if_matches)
File "/home/m/miscel/rl-play/rl-baselines-zoo/venv/lib/python3.6/site-packages/atari_py/import_roms.py", line 23, in _check_zipfile
process_f(innerf)
File "/home/m/miscel/rl-play/rl-baselines-zoo/venv/lib/python3.6/site-packages/atari_py/import_roms.py", line 67, in save_if_matches
f.seek(0)
io.UnsupportedOperation: seek
help plz.
Can someone tell me what is going wrong here?
(rainbow) C:\Users\s#####\Documents\github\Rainbow>python main.py
Traceback (most recent call last):
File "main.py", line 9, in <module>
import atari_py
File "C:\Users\s#####\.conda\envs\rainbow\lib\site-packages\atari_py\__init__.py", line 1, in <module>
from .ale_python_interface import *
File "C:\Users\s#####\.conda\envs\rainbow\lib\site-packages\atari_py\ale_python_interface.py", line 18, in <module>
'ale_interface/ale_c.dll'))
File "C:\Users\s#####\.conda\envs\rainbow\lib\ctypes\__init__.py", line 442, in LoadLibrary
return self._dlltype(name)
File "C:\Users\s#####\.conda\envs\rainbow\lib\ctypes\__init__.py", line 364, in __init__
self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] The specified module could not be found
I am trying to install atari.py from this repository. I have cmake, make and zlib1g already installed and I have pip version 19.0.2. But when I run the command
pip install -e .
I get the following error -
aishwarya@aishwarya-Precision-T1600:~/Documents/atari-py$ pip install -e .Obtaining file:///home/aishwarya/Documents/atari-py
Requirement already satisfied: numpy in /home/aishwarya/anaconda3/lib/python3.6/site-packages (from atari-py==0.1.7) (1.14.3)
Requirement already satisfied: six in /home/aishwarya/anaconda3/lib/python3.6/site-packages (from atari-py==0.1.7) (1.11.0)
Installing collected packages: atari-py
Running setup.py develop for atari-py
Complete output from command /home/aishwarya/anaconda3/bin/python -c "import setuptools, tokenize;file='/home/aishwarya/Documents/atari-py/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" develop --no-deps:
running develop
running egg_info
writing atari_py.egg-info/PKG-INFO
writing dependency_links to atari_py.egg-info/dependency_links.txt
writing requirements to atari_py.egg-info/requires.txt
writing top-level names to atari_py.egg-info/top_level.txt
reading manifest file 'atari_py.egg-info/SOURCES.txt'
writing manifest file 'atari_py.egg-info/SOURCES.txt'
running build_ext
Unable to execute 'make build -C atari_py/ale_interface -j 7'. HINT: are you suremake
is installed?
error: [Errno 2] No such file or directory: 'build/lib.linux-x86_64-3.6': 'build/lib.linux-x86_64-3.6'
Command "/home/aishwarya/anaconda3/bin/python -c "import setuptools, tokenize;file='/home/aishwarya/Documents/atari-py/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" develop --no-deps" failed with error code 1 in /home/aishwarya/Documents/atari-py/
I have checked if make, cmake and zlib1g was installed. This is the result telling me that it was already installed.
aishwarya@aishwarya-Precision-T1600:
/Documents/atari-py$ sudo apt-get install make/Documents/atari-py$ sudo apt-get install cmake
Reading package lists... Done
Building dependency tree
Reading state information... Done
make is already the newest version.
The following packages were automatically installed and are no longer required:
chromium-codecs-ffmpeg-extra libqpdf13
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 360 not upgraded.
aishwarya@aishwarya-Precision-T1600:
Reading package lists... Done
Building dependency tree
Reading state information... Done
cmake is already the newest version.
The following packages were automatically installed and are no longer required:
chromium-codecs-ffmpeg-extra libqpdf13
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 360 not upgraded.
aishwarya@aishwarya-Precision-T1600:~/Documents/atari-py$ sudo apt-get install zlib1g-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
zlib1g-dev is already the newest version.
The following packages were automatically installed and are no longer required:
chromium-codecs-ffmpeg-extra libqpdf13
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 360 not upgraded.
Hi I'm trying to visualize game play using the python example from the docs. I've tried the code with and without pygame.init(), and I still don't see anything. Thanks in advance.
from random import randrange
import atari_py
import pygame
ale = atari_py.ALEInterface()
pong_path = atari_py.get_game_path('pong')
#pygame.init()
#load the rom
ale.loadROM(pong_path)
ale.setInt('random_seed', 123)
ale.setBool('display_screen', True)
legal_actions = ale.getLegalActionSet()
for episode in range(10):
total_reward = 0
while not ale.game_over():
a = legal_actions[randrange(len(legal_actions))]
# Apply an action and get the resulting reward
reward = ale.act(a);
total_reward += reward
print('Episode', episode, 'ended with score:', total_reward)
ale.reset_game()
The below are my server details:
Homebrew Ruby: 2.3.7 => /home/dhdharma/.linuxbrew/Library/Homebrew/vendor/portable-ruby/2.3.7/bin/ruby
Clang: N/A
Git: 1.8.3.1 => /bin/git
Curl: 7.29.0 => /usr/bin/curl
Java: N/A
Kernel: Linux 3.10.0-693.17.1.el7.x86_64 x86_64 GNU/Linux
OS: Red Hat Enterprise Linux Server release 7.4 (Maipo)
Host glibc: 2.17
/usr/bin/gcc: 4.8.5
glibc: 2.23
gcc: 5.5.0_4
xorg: N/A
When i try to install using
pip install --user --trusted-host pypi.org --trusted-host files.pythonhosted.org "gym[atari]"
I get the below error:
Building wheels for collected packages: atari-py
Running setup.py bdist_wheel for atari-py ... error
Complete output from command /app/ge/aiden/anaconda3/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-install-x2v7as8m/atari-py/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" bdist_wheel -d /tmp/pip-wheel-b5rkh8lv --python-tag cp36:
running bdist_wheel
running build
make: Entering directory `/tmp/pip-install-x2v7as8m/atari-py/atari_py/ale_interface'
mkdir -p build && cd build && cmake .. && make -j4
-- The C compiler identification is GNU 4.8.5
-- The CXX compiler identification is GNU 4.8.5
-- Check for working C compiler: /bin/cc
-- Check for working C compiler: /bin/cc -- broken
CMake Error at /root/.local/lib/python3.6/site-packages/cmake/data/share/cmake-3.12/Modules/CMakeTestCCompiler.cmake:52 (message):
The C compiler
"/bin/cc"
is not able to compile a simple test program.
It fails with the following output:
Change Dir: /tmp/pip-install-x2v7as8m/atari-py/atari_py/ale_interface/build/CMakeFiles/CMakeTmp
Run Build Command:"/bin/gmake" "cmTC_d4bba/fast"
gmake[1]: Entering directory `/tmp/pip-install-x2v7as8m/atari-py/atari_py/ale_interface/build/CMakeFiles/CMakeTmp'
/bin/gmake -f CMakeFiles/cmTC_d4bba.dir/build.make CMakeFiles/cmTC_d4bba.dir/build
gmake[2]: Entering directory `/tmp/pip-install-x2v7as8m/atari-py/atari_py/ale_interface/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_d4bba.dir/testCCompiler.c.o
/bin/cc -o CMakeFiles/cmTC_d4bba.dir/testCCompiler.c.o -c /tmp/pip-install-x2v7as8m/atari-py/atari_py/ale_interface/build/CMakeFiles/CMakeTmp/testCCompiler.c
Linking C executable cmTC_d4bba
/root/.local/lib/python3.6/site-packages/cmake/data/bin/cmake -E cmake_link_script CMakeFiles/cmTC_d4bba.dir/link.txt --verbose=1
/bin/cc -rdynamic CMakeFiles/cmTC_d4bba.dir/testCCompiler.c.o -o cmTC_d4bba
/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libc.so when searching for -lc
/bin/ld: skipping incompatible //lib/libc.so when searching for -lc
/bin/ld: skipping incompatible //usr/lib/libc.so when searching for -lc
/bin/ld: cannot find -lc
collect2: error: ld returned 1 exit status
gmake[2]: *** [cmTC_d4bba] Error 1
gmake[2]: Leaving directory `/tmp/pip-install-x2v7as8m/atari-py/atari_py/ale_interface/build/CMakeFiles/CMakeTmp'
gmake[1]: *** [cmTC_d4bba/fast] Error 2
gmake[1]: Leaving directory `/tmp/pip-install-x2v7as8m/atari-py/atari_py/ale_interface/build/CMakeFiles/CMakeTmp'
CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:2 (project)
-- Configuring incomplete, errors occurred!
See also "/tmp/pip-install-x2v7as8m/atari-py/atari_py/ale_interface/build/CMakeFiles/CMakeOutput.log".
See also "/tmp/pip-install-x2v7as8m/atari-py/atari_py/ale_interface/build/CMakeFiles/CMakeError.log".
make: *** [build] Error 1
make: Leaving directory `/tmp/pip-install-x2v7as8m/atari-py/atari_py/ale_interface'
Could not build atari-py: Command '['make', 'build', '-C', 'atari_py/ale_interface', '-j', '47']' returned non-zero exit status 2.. (HINT: are you sure cmake is installed? You might also be missing a library. Atari-py requires: zlib [installable as 'apt-get install zlib1g-dev' on Ubuntu].)
Traceback (most recent call last):
File "", line 1, in
File "/tmp/pip-install-x2v7as8m/atari-py/setup.py", line 36, in
tests_require=['nose2']
File "/app/ge/aiden/anaconda3/lib/python3.6/site-packages/setuptools/init.py", line 129, in setup
return distutils.core.setup(**attrs)
File "/app/ge/aiden/anaconda3/lib/python3.6/distutils/core.py", line 148, in setup
dist.run_commands()
File "/app/ge/aiden/anaconda3/lib/python3.6/distutils/dist.py", line 955, in run_commands
self.run_command(cmd)
File "/app/ge/aiden/anaconda3/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/app/ge/aiden/anaconda3/lib/python3.6/site-packages/wheel/bdist_wheel.py", line 202, in run
self.run_command('build')
File "/app/ge/aiden/anaconda3/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/app/ge/aiden/anaconda3/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/tmp/pip-install-x2v7as8m/atari-py/setup.py", line 16, in run
subprocess.check_call(cmd)
File "/app/ge/aiden/anaconda3/lib/python3.6/subprocess.py", line 291, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['make', 'build', '-C', 'atari_py/ale_interface', '-j', '47']' returned non-zero exit status 2.
Failed building wheel for atari-py
Running setup.py clean for atari-py
Failed to build atari-py
Installing collected packages: atari-py
Running setup.py install for atari-py ... error
Complete output from command /app/ge/aiden/anaconda3/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-install-x2v7as8m/atari-py/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-record-f95derlu/install-record.txt --single-version-externally-managed --compile --user --prefix=:
running install
running build
make: Entering directory `/tmp/pip-install-x2v7as8m/atari-py/atari_py/ale_interface'
mkdir -p build && cd build && cmake .. && make -j4
-- The C compiler identification is GNU 4.8.5
-- The CXX compiler identification is GNU 4.8.5
-- Check for working C compiler: /bin/cc
-- Check for working C compiler: /bin/cc -- broken
CMake Error at /root/.local/lib/python3.6/site-packages/cmake/data/share/cmake-3.12/Modules/CMakeTestCCompiler.cmake:52 (message):
The C compiler
"/bin/cc"
is not able to compile a simple test program.
It fails with the following output:
Change Dir: /tmp/pip-install-x2v7as8m/atari-py/atari_py/ale_interface/build/CMakeFiles/CMakeTmp
Run Build Command:"/bin/gmake" "cmTC_1fbcc/fast"
gmake[1]: Entering directory `/tmp/pip-install-x2v7as8m/atari-py/atari_py/ale_interface/build/CMakeFiles/CMakeTmp'
/bin/gmake -f CMakeFiles/cmTC_1fbcc.dir/build.make CMakeFiles/cmTC_1fbcc.dir/build
gmake[2]: Entering directory `/tmp/pip-install-x2v7as8m/atari-py/atari_py/ale_interface/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_1fbcc.dir/testCCompiler.c.o
/bin/cc -o CMakeFiles/cmTC_1fbcc.dir/testCCompiler.c.o -c /tmp/pip-install-x2v7as8m/atari-py/atari_py/ale_interface/build/CMakeFiles/CMakeTmp/testCCompiler.c
Linking C executable cmTC_1fbcc
/root/.local/lib/python3.6/site-packages/cmake/data/bin/cmake -E cmake_link_script CMakeFiles/cmTC_1fbcc.dir/link.txt --verbose=1
/bin/cc -rdynamic CMakeFiles/cmTC_1fbcc.dir/testCCompiler.c.o -o cmTC_1fbcc
/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libc.so when searching for -lc
/bin/ld: skipping incompatible //lib/libc.so when searching for -lc
/bin/ld: skipping incompatible //usr/lib/libc.so when searching for -lc
/bin/ld: cannot find -lc
collect2: error: ld returned 1 exit status
gmake[2]: *** [cmTC_1fbcc] Error 1
gmake[2]: Leaving directory `/tmp/pip-install-x2v7as8m/atari-py/atari_py/ale_interface/build/CMakeFiles/CMakeTmp'
gmake[1]: *** [cmTC_1fbcc/fast] Error 2
gmake[1]: Leaving directory `/tmp/pip-install-x2v7as8m/atari-py/atari_py/ale_interface/build/CMakeFiles/CMakeTmp'
CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:2 (project)
-- Configuring incomplete, errors occurred!
See also "/tmp/pip-install-x2v7as8m/atari-py/atari_py/ale_interface/build/CMakeFiles/CMakeOutput.log".
See also "/tmp/pip-install-x2v7as8m/atari-py/atari_py/ale_interface/build/CMakeFiles/CMakeError.log".
make: *** [build] Error 1
make: Leaving directory `/tmp/pip-install-x2v7as8m/atari-py/atari_py/ale_interface'
Could not build atari-py: Command '['make', 'build', '-C', 'atari_py/ale_interface', '-j', '47']' returned non-zero exit status 2.. (HINT: are you sure cmake is installed? You might also be missing a library. Atari-py requires: zlib [installable as 'apt-get install zlib1g-dev' on Ubuntu].)
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-install-x2v7as8m/atari-py/setup.py", line 36, in <module>
tests_require=['nose2']
File "/app/ge/aiden/anaconda3/lib/python3.6/site-packages/setuptools/__init__.py", line 129, in setup
return distutils.core.setup(**attrs)
File "/app/ge/aiden/anaconda3/lib/python3.6/distutils/core.py", line 148, in setup
dist.run_commands()
File "/app/ge/aiden/anaconda3/lib/python3.6/distutils/dist.py", line 955, in run_commands
self.run_command(cmd)
File "/app/ge/aiden/anaconda3/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/app/ge/aiden/anaconda3/lib/python3.6/site-packages/setuptools/command/install.py", line 61, in run
return orig.install.run(self)
File "/app/ge/aiden/anaconda3/lib/python3.6/distutils/command/install.py", line 545, in run
self.run_command('build')
File "/app/ge/aiden/anaconda3/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/app/ge/aiden/anaconda3/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/tmp/pip-install-x2v7as8m/atari-py/setup.py", line 16, in run
subprocess.check_call(cmd)
File "/app/ge/aiden/anaconda3/lib/python3.6/subprocess.py", line 291, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['make', 'build', '-C', 'atari_py/ale_interface', '-j', '47']' returned non-zero exit status 2.
----------------------------------------
Command "/app/ge/aiden/anaconda3/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-install-x2v7as8m/atari-py/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-record-f95derlu/install-record.txt --single-version-externally-managed --compile --user --prefix=" failed with error code 1 in /tmp/pip-install-x2v7as8m/atari-py/
I am totally new to OpenAi gym, I have just installed gym and then try to make environment for
env = gym.make('MsPacman-v0')
so I am getting the following error:
---------------------------------------------------------------------------
Exception Traceback (most recent call last)
<ipython-input-21-e04adf623175> in <module>
----> 1 env = gym.make('MsPacman-v0')
~\Anaconda3\envs\env_project\lib\site-packages\gym\envs\registration.py in make(id, **kwargs)
~\Anaconda3\envs\env_project\lib\site-packages\gym\envs\registration.py in make(self, path, **kwargs)
~\Anaconda3\envs\env_project\lib\site-packages\gym\envs\registration.py in make(self, **kwargs)
~\Anaconda3\envs\env_project\lib\site-packages\gym\envs\atari\atari_env.py in __init__(self, game,
mode, difficulty, obs_type, frameskip, repeat_action_probability, full_action_space)
~\Anaconda3\envs\env_project\lib\site-packages\atari_py\games.py in get_game_path(game_name)
18 path = os.path.join(_games_dir, game_name) + ".bin"
19 if not os.path.exists(path):
---> 20 raise Exception('ROM is missing for %s, see https://github.com/openai/atari-py#roms
for instructions' % (game_name,))
21 return path
22
Exception: ROM is missing for ms_pacman, see https://github.com/openai/atari-py#roms for instructions
After this I also tried to find the solution on the web and download the ROMs and extracted in a folder then hit the command python -m atari_py.import_roms <path where ROMs downloaded>
, after running this command I am also getting following error
(env_project) C:\Users\ME>python -m atari_py.import_roms C:\Users\ME\Downloads\roms_folder\
copying adventure.bin from HC ROMS/BY ALPHABET (PAL)/A-G/Adventure (PAL).bin to
C:\Users\ME\Anaconda3\envs\env_project\lib\site-packages\atari_py\atari_roms\adventure.bin
Traceback (most recent call last):
File "C:\Users\ME\Anaconda3\envs\env_project\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "C:\Users\ME\Anaconda3\envs\env_project\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Users\ME\Anaconda3\envs\env_project\lib\site-packages\atari_py\import_roms.py", line 93,
in <module>
main()
File "C:\Users\ME\Anaconda3\envs\env_project\lib\site-packages\atari_py\import_roms.py", line 89,
in main
import_roms(args.dirpath)
File "C:\Users\ME\Anaconda3\envs\env_project\lib\site-packages\atari_py\import_roms.py", line 78,
in import_roms
_check_zipfile(f, save_if_matches)
File "C:\Users\ME\Anaconda3\envs\env_project\lib\site-packages\atari_py\import_roms.py", line 23,
in _check_zipfile
process_f(innerf)
File "C:\Users\ME\Anaconda3\envs\env_project\lib\site-packages\atari_py\import_roms.py", line 67,
in save_if_matches
f.seek(0)
io.UnsupportedOperation: seek
I don't know what I am doing wrong. Thank in advance.
I am trying to save the atari screen images by doing
import gym
env = gym.make('Breakout-v0')
env.reset()
env.env.ale.saveScreenPNG('test_image.png')
I also tried changing the last line to
env.env.ale.saveScreenPNG('test_image')
but the function doesn't seem to take a string input. The input for the function says it should be a filename
, which I would have expected should be a string, but it seems that I'm mistaken. How can I save image data from atari game screens with gym?
Thank you for the help!
I want to install it without root privilege. Of course, I failed. Because it only uses system-wide libraries.
I believe you keep a close eye on the ALE repo, but just as additional FYI, there is an optimization PR from @qstanczyk that inlines some code for additional performance, and will be merged soon: Farama-Foundation/Arcade-Learning-Environment#265 . Thanks!
I fear I'm being very foolish here but my understanding is that this is a packaging up of ale_python_interface. So I have done the install (on Mac):
pip install atari-py
Then, from a Python prompt, I tried:
from ale_python_interface import ALEInterface
That does not work. (No module named "ale_python_interface".) So then I cloned the repo and tried the build:
python setup.py install
And I get the same problem. There are no errors during either installation approach. I've also done the export of PYTHONPATH and, again, same error.
So I guess my question is a simple one: how do you actually get this to work? Or, better, what am I doing wrong (i.e., what steps am I missing?)
Hi,
I'm a bit curious as to why the Breakout action space was decreased from 6 to 4. I'm doing some research in transfer/multitask learning and this was a breaking change for me. While maybe this is the desired choice down the line, I'd like to suggest restoring it such that several environments with similar goals (breakout/pong) have the same action spaces. In any case, I'm opening this issue to see if there was some reasoning behind it.
Thanks.
MD5s for ROMs differ from https://github.com/mgbellemare/Arcade-Learning-Environment/blob/master/md5.txt on some games (when importing via gym[atari].
Is this intentional? I can provide a list of non-matching MD5s if that helps.
Trying to get Pong to work following https://github.com/dhruvp/atari-pong/blob/master/me_pong.py. I run env = gym.make('Pong-v0') and this error appears:
env = gym.make('Pong-v0')
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "C:\Users\GuCa\PycharmProjects\Pong\venv\lib\site-packages\gym\envs\registration.py", line 156, in make
return registry.make(id, **kwargs)
File "C:\Users\GuCa\PycharmProjects\Pong\venv\lib\site-packages\gym\envs\registration.py", line 101, in make
env = spec.make(**kwargs)
File "C:\Users\GuCa\PycharmProjects\Pong\venv\lib\site-packages\gym\envs\registration.py", line 72, in make
cls = load(self.entry_point)
File "C:\Users\GuCa\PycharmProjects\Pong\venv\lib\site-packages\gym\envs\registration.py", line 17, in load
mod = importlib.import_module(mod_name)
File "C:\Users\GuCa\AppData\Local\Programs\Python\Python37-32\lib\importlib\__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "C:\Users\GuCa\PycharmProjects\Pong\venv\lib\site-packages\gym\envs\atari\__init__.py", line 1, in <module>
from gym.envs.atari.atari_env import AtariEnv
File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.2.4\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
module = self._system_import(name, *args, **kwargs)
File "C:\Users\GuCa\PycharmProjects\Pong\venv\lib\site-packages\gym\envs\atari\atari_env.py", line 9, in <module>
import atari_py
File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.2.4\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
module = self._system_import(name, *args, **kwargs)
File "C:\Users\GuCa\PycharmProjects\Pong\venv\lib\site-packages\atari_py\__init__.py", line 1, in <module>
from .ale_python_interface import *
File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.2.4\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
module = self._system_import(name, *args, **kwargs)
File "C:\Users\GuCa\PycharmProjects\Pong\venv\lib\site-packages\atari_py\ale_python_interface.py", line 18, in <module>
'ale_interface/ale_c.dll'))
File "C:\Users\GuCa\AppData\Local\Programs\Python\Python37-32\lib\ctypes\__init__.py", line 442, in LoadLibrary
return self._dlltype(name)
File "C:\Users\GuCa\AppData\Local\Programs\Python\Python37-32\lib\ctypes\__init__.py", line 364, in __init__
self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] Cannot find the specified module
No errors when running pip install "gym[atari]" inside "...\projectFolder\atari.py"
Any suggestions? Please explain like i'm five
Steps to reproduce:
conda create -n py27 python=2.7
conda activate py27
pip install atari-py
Expected:
atari-py gets installed on Ubuntu 16.04 x86_64 within a conda python 2.7 environment
Actual:
creating build/lib.linux-x86_64-2.7/atari_py/tests
copying atari_py/tests/test_smoke.py -> build/lib.linux-x86_64-2.7/atari_py/tests
copying atari_py/tests/__init__.py -> build/lib.linux-x86_64-2.7/atari_py/tests
running build_ext
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-install-hKIyhH/atari-py/setup.py", line 47, in <module>
tests_require=['nose2']
File "/miniconda3/envs/py27/lib/python2.7/site-packages/setuptools/__init__.py", line 145, in setup
return distutils.core.setup(**attrs)
File "/miniconda3/envs/py27/lib/python2.7/distutils/core.py", line 151, in setup
dist.run_commands()
File "/miniconda3/envs/py27/lib/python2.7/distutils/dist.py", line 953, in run_commands
self.run_command(cmd)
File "/miniconda3/envs/py27/lib/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "/miniconda3/envs/py27/lib/python2.7/site-packages/setuptools/command/install.py", line 61, in run
return orig.install.run(self)
File "/miniconda3/envs/py27/lib/python2.7/distutils/command/install.py", line 563, in run
self.run_command('build')
File "/miniconda3/envs/py27/lib/python2.7/distutils/cmd.py", line 326, in run_command
self.distribution.run_command(command)
File "/miniconda3/envs/py27/lib/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "/miniconda3/envs/py27/lib/python2.7/distutils/command/build.py", line 127, in run
self.run_command(cmd_name)
File "/miniconda3/envs/py27/lib/python2.7/distutils/cmd.py", line 326, in run_command
self.distribution.run_command(command)
File "/miniconda3/envs/py27/lib/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "/tmp/pip-install-hKIyhH/atari-py/setup.py", line 20, in run
os.makedirs(cwd, exist_ok=True)
TypeError: makedirs() got an unexpected keyword argument 'exist_ok'
----------------------------------------
ERROR: Command "/miniconda3/envs/py27/bin/python -u -c 'import setuptools, tokenize;__file__='"'"'/tmp/pip-install-hKIyhH/atari-py/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-wThLEi/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-hKIyhH/atari-py/
I followed the directions in the readme for downloading, unrarring/unzipping, and loading the rom files. I can see them in .local/lib/python3.8/site-packages/atari_py/atari_roms
.
However, ale.loadROM() is unable to find the ROM file:
>>> import atari_py
>>> ale = atari_py.ALEInterface()
>>> ale.loadROM("pong.bin")
ROM file pong.bin not found.
My C++ is a bit rusty, but looks like this might be wanting a full path? https://github.com/openai/atari-py/blob/master/atari_py/ale_interface/src/ale_interface.cpp#L124
I wasn't able to get the solution for the gym to work for just the base library.
I tested on Win 10 it was Okay. However, on Win 7 the error pops up.
The document said that clone/restoreState() doesn't include pseudorandomness. However, the fact is that clone/restoreState() doesn't include the pseudorandomness of repeat_action, but it includes the pseudorandomness of Atari.
The code to verify above fact is as below:
import numpy as np
import atari_py
test = 'loadROM'
# test = 'restoreState'
frame_skip = 4
bunch = 200
sequence = 500
def main():
result = {
'name':[],
'grouped_num':[],
'distribution':[],
}
# game_list = ['air_raid-n', 'alien', 'amidar', 'assault', 'asterix', 'asteroids', 'atlantis']
# game_list = ['bank_heist', 'battle_zone', 'beam_rider', 'berzerk-n', 'bowling', 'boxing', 'breakout', 'carnival-n']
# game_list = ['centipede', 'chopper_command', 'crazy_climber', 'demon_attack', 'double_dunk']
# game_list = ['elevator_action-n', 'enduro', 'fishing_derby', 'freeway', 'frostbite', 'gopher', 'gravitar']
# game_list = ['hero', 'ice_hockey', 'jamesbond', 'journey_escape-n', 'kangaroo', 'krull', 'kung_fu_master']
# game_list = ['montezuma_revenge-n', 'ms_pacman', 'name_this_game', 'phoenix-n', 'pitfall-n', 'pong', 'pooyan-n']
# game_list = ['private_eye', 'qbert', 'riverraid', 'road_runner', 'robotank', 'seaquest', 'skiing-n']
# game_list = ['solaris-n', 'space_invaders', 'star_gunner', 'tennis', 'time_pilot', 'tutankham', 'up_n_down']
# game_list = ['venture', 'video_pinball', 'wizard_of_wor', 'yars_revenge-n', 'zaxxon']
game_list = ['pong', 'assault','ms_pacman']
for game in game_list:
if '-n' in game:
'''games that are not in the nature DQN list'''
continue
game_path = atari_py.get_game_path(game)
env_father = atari_py.ALEInterface()
env_father.setFloat('repeat_action_probability'.encode('utf-8'), 0.0)
env_father.setInt(b'random_seed', 3)
env_father.loadROM(game_path)
env_father.reset_game()
if test in ['restoreState']:
state_after_reset = env_father.cloneState()
'''generate a sequence of actions'''
action_sequence = np.random.randint(
len(env_father.getMinimalActionSet()),
size = sequence,
)
bunch_obs = []
distribution = []
samples = []
for bunch_i in range(bunch):
env_temp = atari_py.ALEInterface()
env_temp.setFloat('repeat_action_probability'.encode('utf-8'), 0.0)
env_temp.setInt(b'random_seed', bunch_i)
if test in ['loadROM']:
env_temp.loadROM(game_path)
env_temp.reset_game()
elif test in ['restoreState']:
env_temp.loadROM(game_path) # restoreState without calling loadROM first will cause Segmentation fault (core dumped)
env_temp.restoreState(state_after_reset)
# just to make sure
env_temp.setFloat('repeat_action_probability'.encode('utf-8'), 0.0)
env_temp.setInt(b'random_seed', bunch_i)
for sequence_i in range(sequence):
for frame_skip_i in range(frame_skip):
env_temp.act(
env_father.getMinimalActionSet()[
action_sequence[sequence_i]
]
)
if env_temp.game_over():
env_temp.reset_game()
obs = env_temp.getScreenRGB2()
samples += [obs]
found_at_bunch = -1
if_has_identical_one = False
max_value = 0
for bunch_obs_i in range(len(bunch_obs)):
obs_in_bunch = bunch_obs[bunch_obs_i]
max_value = np.max(
np.abs(
obs-obs_in_bunch
)
)
if max_value < 1:
found_at_bunch = bunch_obs_i
if_has_identical_one = True
distribution[found_at_bunch] += 1
break
if if_has_identical_one is False:
bunch_obs += [obs]
distribution += [1]
grouped_num = len(bunch_obs)
print('game:{} grouped_num:{} distribution:{}'.format(
game,
grouped_num,
distribution,
))
if __name__ == "__main__":
main()
Specifically, when set test = 'loadROM'
, it tests the stochasticity produced by
setInt(b'random_seed')
loadROM()
The results are:
game:pong grouped_num:1 distribution:[200]
game:assault grouped_num:57 distribution:[4, 4, 6, 3, 8, 9, 2, 5, 3, 2, 5, 5, 5, 4, 5, 4, 2, 4, 6, 3, 1, 4, 1, 5, 5, 1, 2, 1, 3, 6, 3, 4, 2, 3, 5, 3, 4, 6, 3, 5, 4, 3, 2, 2, 3, 4, 2, 1, 3, 4, 3, 1, 2, 2, 5, 2, 1]
game:ms_pacman grouped_num:1 distribution:[200]
When set test = 'restoreState'
, it tests the stochasticity produced by clone/restoreState()
. The results are:
game:pong grouped_num:1 distribution:[200]
game:assault grouped_num:1 distribution:[200]
game:ms_pacman grouped_num:1 distribution:[200]
As you can see, we set repeat_action_probability to zero all the time since we do not care about this kind of stochasticity. The results shows that clone/restoreState()
actually includes the pseudorandomness of Atari. Thus, we actually do not have a function that really exclude the pseudorandomness so that we can use it for planning.
Any ideas? Is there any way we can have a function that clone/restore state of Atari without pseudorandomness so that we can use it for planning?
Many thanks for everyone's effort on this repo!
In python3.6, we do the all steps, but anything happend. we still can not uesed it.
python3 -m atari_py.import_roms /git/ROSMS
no any error
but run env = gym.make('Pong-v0') still get
Exception
ROM is missing for pong, see https://github.com/openai/atari-py#roms for instructions
Trying to pip install atari-py 0.23 on a python 2.7 conda environment leads to the following error:
2019-07-02T03:41:24.2303198Z Using cached https://files.pythonhosted.org/packages/fc/a4/551d18c9178094a698aa5244ee52164914d65bedb68913d357d1033a58cc/atari-py-0.2.3.tar.gz
2019-07-02T03:41:24.4669762Z Complete output from command python setup.py egg_info:
2019-07-02T03:41:24.4673356Z Traceback (most recent call last):
2019-07-02T03:41:24.4674086Z File "", line 1, in
2019-07-02T03:41:24.4675307Z File "/tmp/pip-build-77t_o8/atari-py/setup.py", line 8, in
2019-07-02T03:41:24.4676866Z with open(os.path.join(os.path.dirname(file), 'atari_py', 'package_data.txt')) as f:
2019-07-02T03:41:24.4677641Z IOError: [Errno 2] No such file or directory: '/tmp/pip-build-77t_o8/atari-py/atari_py/package_data.txt'
After downloading https://files.pythonhosted.org/packages/fc/a4/551d18c9178094a698aa5244ee52164914d65bedb68913d357d1033a58cc/atari-py-0.2.3.tar.gz, I confirmed that Atari_py/package_data.txt is missing
That started happening on June 28th. Was the python 2.7 wheel package removed on that date? That could explain why this started to happen: a pre compiled wheel package was no longer found for python 2.7, leading the build from source to take place.
as title said, did i do something wrong?
Is atari-py compatible with Python 3.8? I'm trying to install it on a MacOS (Catalina) with Python 3.8 installed, but keep getting errors.
Any help on this would be appreciated.
Thank you.
On https://pypi.org/project/atari-py/ version 0.2.0 seems available.
But, on ubuntu 18.04 when executing the command : pip install atari-py==0.2.0
The following error occurs :
ERROR: Could not find a version that satisfies the requirement atari-py==0.2.0 (from versions: 0.0.1, 0.0.2, 0.0.3, 0.0.4, 0.0.5, 0.0.7, 0.0.8, 0.0.9, 0.0.10, 0.0.11, 0.0.12, 0.0.13, 0.0.14, 0.0.15, 0.0.16, 0.0.17, 0.0.18, 0.0.19, 0.0.20, 0.0.21, 0.1.0, 0.1.1, 0.1.2, 0.1.4, 0.1.6, 0.1.7, 0.1.14)
Also, the installation of atary-py version 0.1.15 seems not available too
Browser: Chrome
Creating env for "Breakout" game from OpenAI Gym is giving problem in Googlw colab. Following is the error message that pops up.
Note: This problem seems to be a recent issue. It was a working code till 2 days back and suddenly started giving problems.
############################################################################################
Exception Traceback (most recent call last)
in ()
1 if name == 'main':
2
----> 3 env = gym.make('Breakout-v0')
4 load_checkpoint = False
5 agent = Agent(gamma=0.99, epsilon=1.0, alpha=0.000025, input_dims=(180,160,4),
4 frames
/usr/local/lib/python3.7/dist-packages/atari_py/games.py in get_game_path(game_name)
18 path = os.path.join(_games_dir, game_name) + ".bin"
19 if not os.path.exists(path):
---> 20 raise Exception('ROM is missing for %s, see https://github.com/openai/atari-py#roms for instructions' % (game_name,))
21 return path
22
Exception: ROM is missing for breakout, see https://github.com/openai/atari-py#roms for instructions
This is such a niche issue I'm not expecting a fix, it's just a flag to anyone who Googles up 'atari-py segfault'.
Running Ubuntu 18.04 headless with Xvfb and ataripy 0.1.15, if another library - like panda3d - creates a graphics pipeline, creating an Atari environment will segfault
import gym
from panda3d.core import GraphicsPipeSelection
if __name__ == '__main__':
GraphicsPipeSelection.get_global_ptr().make_default_pipe()
gym.make('PongNoFrameskip-v4')
Using faulthandler, it shows up as
Current thread 0x00007f78248a5740 (most recent call first):
File "/opt/conda/lib/python3.7/site-packages/atari_py/ale_python_interface.py", line 313 in __del__
File "/code/scripts/segfault.py", line 6 in <module>
File "/opt/conda/lib/python3.7/runpy.py", line 85 in _run_code
File "/opt/conda/lib/python3.7/runpy.py", line 193 in _run_module_as_main
Segmentation fault (core dumped)
My workaround for now is don't create a graphics pipe and and Atari env. Presumably there's some underlying display resource that's being contested/badly managed.
As mentioned in the title and demonstrated by the gif, after the paddle misses the ball’s rebound, the game still goes on. I check done
returned by env.step(action)
and it remains false
. Is this normal? I am using BreakoutNoFrameskip-v0
and the code I use is as follows,
def eval_policy(policy, env, seed, eval_episodes=1):
avg_reward = 0.
for _ in range(eval_episodes):
state, done = env.reset(), False
while not done:
env.env.render()
action = policy.select_action(np.array(state), eval=True)
state, reward, done, _ = env.step(action)
avg_reward += reward
# sleep(0.02)
print(f"Evaluation over {steps} steps: {episode_reward:.3f}")
avg_reward /= eval_episodes
print("---------------------------------------")
print(f"Evaluation over {eval_episodes} episodes: {avg_reward:.3f}")
print("---------------------------------------")
return avg_reward
where env
is produced by,
# Create environment, add wrapper if necessary and create env_properties
def make_env(env_name, atari_preprocessing):
env = gym.make(env_name)
is_atari = gym.envs.registry.spec(env_name).entry_point == 'gym.envs.atari:AtariEnv'
env = AtariPreprocessing(env, **atari_preprocessing) if is_atari else env
state_dim = (
atari_preprocessing["state_history"],
atari_preprocessing["frame_size"],
atari_preprocessing["frame_size"]
) if is_atari else env.observation_space.shape[0]
return (
env,
is_atari,
state_dim,
env.action_space.n
)
I am using atari-py==0.2.6 and gym==0.17.2.
This isn't stated in the readme, and without the dev version installed you get the following incredibly opaque build error:
/home/justinkterry/Documents/atari-py/atari_py/ale_interface/src/common/ScreenExporter.cpp:18:10: fatal error: zlib.h: No such file or directory #include <zlib.h> ^~~~~~~~ compilation terminated.
You should at least update the readme file to reflect this, and ideally include a check with a useful error message during building
When I change the parameter random_seed (I am using atari-py 0.1.1), atari_py.ALEInterface().setInt('random_seed', new_seed)
, it actually doesn't change anything (at least on game space_invaders
), my agent without any randomness (I set repeat_action_probability
to 0) will always reach the same score over different random_seed
.
I would expect the Alien to shoot at different time and then lead to different runs, am I wrong?
Exception Traceback (most recent call last)
in ()
1 def create_pong_env():
2 return gym.make("Pong-v0", frameskip=5)
----> 3 env = create_pong_env()
4 env.seed(1); # for reproducibility
5 frames
/usr/local/lib/python3.7/dist-packages/atari_py/games.py in get_game_path(game_name)
18 path = os.path.join(_games_dir, game_name) + ".bin"
19 if not os.path.exists(path):
---> 20 raise Exception('ROM is missing for %s, see https://github.com/openai/atari-py#roms for instructions' % (game_name,))
21 return path
22
Exception: ROM is missing for pong, see https://github.com/openai/atari-py#roms for instructions
Hello,
I followed the instructions to import ROMS, however, I received this message:
python -m atari_py.import_roms ./Roms/ROMS
Traceback (most recent call last):
File "/Users/rosen/opt/anaconda3/envs/rl_p2/lib/python3.5/runpy.py", line 183, in _run_module_as_main
mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
File "/Users/rosen/opt/anaconda3/envs/rl_p2/lib/python3.5/runpy.py", line 153, in _get_module_details
code = loader.get_code(mod_name)
File "", line 799, in get_code
File "", line 759, in source_to_code
File "", line 222, in _call_with_frames_removed
File "/Users/rosen/opt/anaconda3/envs/rl_p2/lib/python3.5/site-packages/atari_py/import_roms.py", line 57
name = f"patched version of {f.name}"
^
SyntaxError: invalid syntax
I don't know why there has a SyntaxError. Do you know what should I do to fix this?
Thanks.
The code of ALE, which is included in atari-py package is based on an old version of ALE.
One difference I observed is in the file ale_interface/src/games/supported/Breakout.cpp, which was changed in ALE nearly a year ago, but I am sure there are more discrepancies.
I feel hesitant to change this one, as then the two repos'll diverge and things will get only worse.
Could you think of the way to keep the two repositories synchronized? (e.g. by including ALE as a git submodule and possibly updating it every half a year or so)
When my agent reach 999500 and take a last bonus which should lead him to 1000000 (the max score), it obtains a reward of -999500 and the game continue as usual (but the agent now got a total score of 0...).
i installed gnuwin, cmake for make, cmake command.
make: Entering directory `C:/Users/ADMINI~1/AppData/Local/Temp/pip-build-i8domwa1/atari-py/atari_py/ale_interface'
mkdir -p build && cd build && cmake .. && make -j4
-- Building for: Visual Studio 14 2015
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:2 (project):
No CMAKE_C_COMPILER could be found.
i can't find this problem's solution.
i can't inglish well. sorry. :3
Hello,
How can I modify atari-py so that it uses the latest version of ALE (0.6)?
Thanks
Hi all (and Sorry if 'Issues' is not the appropriate place for this question)
For the purpose of some IRL, I need to have the transition matrix of these games. Using the RAM version, I have 12825618 maximum of possible states. However, since the game is always determined by the initial state (and the future actions), can't I just sample all the initial states (and obtain the MDP from this) ? If yes how do I sample all the initial states ? Or do you have an advice on a simple (and efficient because I doubt the first one is) way to achieve my goal ?
Thanks in advance for your response
There was only one code change since 0.1.1
https://github.com/openai/atari-py/compare/f5a1d321bf997ed8a0cda2270f73384b1c792186..master, but the version was bumped six times. CI script updates and even that single code change does not affect library functionality, but you are making headaches for those who have patched atari_py
and makes pip install -U
to pull updates for other libraries.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.