Environment
Win64 + Pycharm + Python 3.7 + OpenAI gym
Error
1. Install problem
When I run OpenAI Atari in Pycharm, I first install Atari as below:
pip install 'gym[atari]'but get an error like:
Invalid requirement: ''gym[atari]''
Traceback (most recent call last):
File "C:\Users\chenj\PycharmProjects\maze\venv\lib\site-packages\pip-10.0.1-py3.7.egg\pip\_vendor\pac
kaging\requirements.py", line 93, in __init__
req = REQUIREMENT.parseString(requirement_string)
File "C:\Users\chenj\PycharmProjects\maze\venv\lib\site-packages\pip-10.0.1-py3.7.egg\pip\_vendor\pyp
arsing.py", line 1632, in parseString
raise exc
File "C:\Users\chenj\PycharmProjects\maze\venv\lib\site-packages\pip-10.0.1-py3.7.egg\pip\_vendor\pyp
arsing.py", line 1622, in parseString
loc, tokens = self._parse( instring, 0 )
File "C:\Users\chenj\PycharmProjects\maze\venv\lib\site-packages\pip-10.0.1-py3.7.egg\pip\_vendor\pyp
arsing.py", line 1379, in _parseNoCache
loc,tokens = self.parseImpl( instring, preloc, doActions )
File "C:\Users\chenj\PycharmProjects\maze\venv\lib\site-packages\pip-10.0.1-py3.7.egg\pip\_vendor\pyp
arsing.py", line 3395, in parseImpl
loc, exprtokens = e._parse( instring, loc, doActions )
File "C:\Users\chenj\PycharmProjects\maze\venv\lib\site-packages\pip-10.0.1-py3.7.egg\pip\_vendor\pyp
arsing.py", line 1379, in _parseNoCache
loc,tokens = self.parseImpl( instring, preloc, doActions )
File "C:\Users\chenj\PycharmProjects\maze\venv\lib\site-packages\pip-10.0.1-py3.7.egg\pip\_vendor\pyp
arsing.py", line 3717, in parseImpl
return self.expr._parse( instring, loc, doActions, callPreParse=False )
File "C:\Users\chenj\PycharmProjects\maze\venv\lib\site-packages\pip-10.0.1-py3.7.egg\pip\_vendor\pyp
arsing.py", line 1379, in _parseNoCache
loc,tokens = self.parseImpl( instring, preloc, doActions )
File "C:\Users\chenj\PycharmProjects\maze\venv\lib\site-packages\pip-10.0.1-py3.7.egg\pip\_vendor\pyp
arsing.py", line 3378, in parseImpl
loc, resultlist = self.exprs[0]._parse( instring, loc, doActions, callPreParse=False )
File "C:\Users\chenj\PycharmProjects\maze\venv\lib\site-packages\pip-10.0.1-py3.7.egg\pip\_vendor\pyp
arsing.py", line 1383, in _parseNoCache
loc,tokens = self.parseImpl( instring, preloc, doActions )
File "C:\Users\chenj\PycharmProjects\maze\venv\lib\site-packages\pip-10.0.1-py3.7.egg\pip\_vendor\pyp
arsing.py", line 2689, in parseImpl
raise ParseException(instring, loc, self.errmsg, self)
pip._vendor.pyparsing.ParseException: Expected W:(abcd...) (at char 0), (line:1, col:1)
This error is easy to fix by changing the apostrophe to double quotes because Pycharm cannot parse it:
pip install "gym[atari]"2. Environment configuration problem
I try to run the sample code:
import gym
env = gym.make("MsPacman-v0")
observation = env.reset()
for _ in range(1000):
env.render()
action = env.action_space.sample() # your agent here (this takes random actions)
observation, reward, done, info = env.step(action)
if done:
observation = env.reset()
env.close()
and get error like:
Traceback (most recent call last):
File "C:/Users/danie/Downloads/Programming/Python/Programming/Pycharm/app.py", line 40, in
gym.make("Breakout-v0")
File "C:\Users\danie\AppData\Local\Programs\Python\Python37\lib\site-packages\gym\envs\registration.py", line 156, in make
return registry.make(id, **kwargs)
File "C:\Users\danie\AppData\Local\Programs\Python\Python37\lib\site-packages\gym\envs\registration.py", line 101, in make
env = spec.make(**kwargs)
File "C:\Users\danie\AppData\Local\Programs\Python\Python37\lib\site-packages\gym\envs\registration.py", line 72, in make
cls = load(self.entry_point)
File "C:\Users\danie\AppData\Local\Programs\Python\Python37\lib\site-packages\gym\envs\registration.py", line 17, in load
mod = importlib.import_module(mod_name)
File "C:\Users\danie\AppData\Local\Programs\Python\Python37\lib\importlib_init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1006, in _gcd_import
File "", line 983, in _find_and_load
File "", line 967, in find_and_load_unlocked
File "", line 677, in load_unlocked
File "", line 728, in exec_module
File "", line 219, in call_with_frames_removed
File "C:\Users\danie\AppData\Local\Programs\Python\Python37\lib\site-packages\gym\envs\atari_init.py", line 1, in
from gym.envs.atari.atari_env import AtariEnv
File "C:\Users\danie\AppData\Local\Programs\Python\Python37\lib\site-packages\gym\envs\atari\atari_env.py", line 9, in
import atari_py
File "C:\Users\danie\AppData\Local\Programs\Python\Python37\lib\site-packages\atari_py_init.py", line 1, in
from .ale_python_interface import *
File "C:\Users\danie\AppData\Local\Programs\Python\Python37\lib\site-packages\atari_py\ale_python_interface.py", line 18, in
'ale_interface/build/ale_c.dll'))
File "C:\Users\danie\AppData\Local\Programs\Python\Python37\lib\ctypes_init.py", line 434, in LoadLibrary
return self.dlltype(name)
File "C:\Users\danie\AppData\Local\Programs\Python\Python37\lib\ctypes_init.py", line 356, in init
self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] The specified module could not be foundI search the stackOverflow and figure out it is a DLL's problem. The answer given by the author cannot solve my problem. As he says,
ale_c.dllanswerbut due to dependent library of ale_c.dll, you need to download additional DLL file to system32 folder. You can use the software Dependencies to check out which library you are missing.
Here is not the solution to this error, but it may be helpful for you.
When you miss any DLL file, you can go to DLL-FILES.COM to search for what you need, and then download it to system32 folder. This is not the solution because when you download the correct DLL file you can find and run module ale_c.dll, and after that Pycharm will tell you that the ale_c.dll is a win32 but not win64 library. There will be still an Import Error if you run your code.
Because all my DLL files are win64 and the Python 3.7 is win64 as well. I guess the atari_py downloaded by Pycharm is win32, so I delete it in my virtual environment and get an win64 Atari whl file. Install the whl file by:
pip install atari_py-1.2.1-cp37-cp37m-win_amd64.whland my MsPacman can work.
When choosing a first cosplay outfit, it is worth considering how details related to Halloween styling will affect the complete look. As fans study the source material, it helps to assess details related to character accuracy together with fit and fabric. To organise preparations involving details related to costume sizing, Genshin Impact cosplay costumes for conventions offers a useful starting point for practical preparation. To preserve the character's visual identity, it is useful to check details related to character accuracy against the wearer's own needs.
A lot thanks to my girlfriend SakuragawaAsaba. Love her!