質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.60%

【Python】 Import エラー【Pass Port】

受付中

回答 0

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 68

YMD_kts

score 21

こちらのサイトを元にFightingICEを,Gymを使用しPythonで動かしたいと考えています.

pipやJDKのインストールを終え,Jupyterを立ち上げリンク先のコードをjavaのパスを変更し下記コードで実行したところImport Errorが発生しました.

検索をかけてもめぼしい情報はヒットせず,こちらに投稿しています.
解決策をご存知の方が居ましたら教えていただきたいです.

利用環境
・JDK-11.0.9
・FighitngICE v4.50
・Python v3.8.3

import gym
import sys

sys.path.append('gym-fightingice')

import gym_fightingice

env = gym.make("FightingiceDisplayNoFrameskip-v0", java_env_path="D:\FTG4.50")

#observation = env.reset(p2='MyFighter') # p2に対戦相手のAI名(Javaクラス名)を指定することが出来ます。
observation = 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
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

まだ回答がついていません

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.60%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る