こちらのサイトを元にFightingICEを,Gymを使用しPythonで動かしたいと考えています.
pipやJDKのインストールを終え,Jupyterを立ち上げリンク先のコードをjavaのパスを変更し下記コードで実行したところImport Errorが発生しました.
検索をかけてもめぼしい情報はヒットせず,こちらに投稿しています.
解決策をご存知の方が居ましたら教えていただきたいです.
利用環境
・JDK-11.0.9
・FighitngICE v4.50
・Python v3.8.3
Python
1import gym 2import sys 3 4sys.path.append('gym-fightingice') 5 6import gym_fightingice 7 8env = gym.make("FightingiceDisplayNoFrameskip-v0", java_env_path="D:\FTG4.50") 9 10#observation = env.reset(p2='MyFighter') # p2に対戦相手のAI名(Javaクラス名)を指定することが出来ます。 11observation = env.reset()
エラーコード
--------------------------------------------------------------------------- PortForException Traceback (most recent call last) d:\ftg4.50\gym-fightingice\gym_fightingice\envs\fightingice_env_display_noframeskip.py in __init__(self, **kwargs) 45 import port_for ---> 46 self.port = port_for.select_random() # select one random port for java env 47 except: ~\anaconda3\lib\site-packages\port_for\api.py in select_random(ports, exclude_ports) 29 return port ---> 30 raise PortForException("Can't select a port") 31 PortForException: Can't select a port During handling of the above exception, another exception occurred: ImportError Traceback (most recent call last) <ipython-input-1-4f8e56f2c01f> in <module> 6 import gym_fightingice 7 ----> 8 env = gym.make("FightingiceDisplayNoFrameskip-v0", java_env_path="D:\FTG4.50") 9 10 #observation = env.reset(p2='MyFighter') # p2に対戦相手のAI名(Javaクラス名)を指定することが出来ます。 ~\anaconda3\lib\site-packages\gym\envs\registration.py in make(id, **kwargs) 143 144 def make(id, **kwargs): --> 145 return registry.make(id, **kwargs) 146 147 def spec(id): ~\anaconda3\lib\site-packages\gym\envs\registration.py in make(self, path, **kwargs) 88 logger.info('Making new env: %s', path) 89 spec = self.spec(path) ---> 90 env = spec.make(**kwargs) 91 # We used to have people override _reset/_step rather than 92 # reset/step. Set _gym_disable_underscore_compat = True on ~\anaconda3\lib\site-packages\gym\envs\registration.py in make(self, **kwargs) 58 else: 59 cls = load(self.entry_point) ---> 60 env = cls(**_kwargs) 61 62 # Make the environment aware of which spec it came from. d:\ftg4.50\gym-fightingice\gym_fightingice\envs\fightingice_env_display_noframeskip.py in __init__(self, **kwargs) 46 self.port = port_for.select_random() # select one random port for java env 47 except: ---> 48 raise ImportError( 49 "Pass port=[your_port] when make env, or install port_for to set startup port automatically, maybe pip install port_for can help") 50 ImportError: Pass port=[your_port] when make env, or install port_for to set startup port automatically, maybe pip install port_for can help
あなたの回答
tips
プレビュー