Полностью сбит с толку средами PyCharm - PullRequest
0 голосов
/ 31 октября 2018

Мне удалось установить среду Atari для тренажерного зала OpenAI в проекте PyCharm. (Потребовалось так много проб и ошибок, что я больше не знаю, что в итоге заставило его работать. Но теперь это так.)

Я скопировал каталог проекта, создал другой проект из копии и попытался запустить ту же программу, которая запускалась раньше - фактически копию программы, которая была создана при копировании каталога. Теперь я получаю сообщение об ошибке, в котором говорится, что среда Atari не установлена ​​или установлена ​​неправильно.

Traceback (most recent call last):
  File "C:\Users\rabbott\AppData\Local\Programs\Python\Python37\lib\site-packages\gym\envs\atari\atari_env.py", line 9, in <module>
    import atari_py
ModuleNotFoundError: No module named 'atari_py'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:/Users/rabbott/Google Drive/CSULA/ECST/CS Dept/CS 4660/2018/OpenAI_Models/Q-Learning-Framework - Copy/Interactive_Atari-2018-10-27-2230.py", line 416, in <module>
    GameControl(Bot()).play('Pong-v0')
  File "C:/Users/rabbott/Google Drive/CSULA/ECST/CS Dept/CS 4660/2018/OpenAI_Models/Q-Learning-Framework - Copy/Interactive_Atari-2018-10-27-2230.py", line 30, in play
    env = gym.make(game)
  File "C:\Users\rabbott\AppData\Local\Programs\Python\Python37\lib\site-packages\gym\envs\registration.py", line 167, in make
    return registry.make(id)
  File "C:\Users\rabbott\AppData\Local\Programs\Python\Python37\lib\site-packages\gym\envs\registration.py", line 119, in make
    env = spec.make()
  File "C:\Users\rabbott\AppData\Local\Programs\Python\Python37\lib\site-packages\gym\envs\registration.py", line 85, in make
cls = load(self._entry_point)
  File "C:\Users\rabbott\AppData\Local\Programs\Python\Python37\lib\site-packages\gym\envs\registration.py", line 14, in load
    result = entry_point.load(False)
  File "C:\Users\rabbott\AppData\Local\Programs\Python\Python37\lib\site-packages\pkg_resources\__init__.py", line 2324, in load
    return self.resolve()
  File "C:\Users\rabbott\AppData\Local\Programs\Python\Python37\lib\site-packages\pkg_resources\__init__.py", line 2330, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "C:\Users\rabbott\AppData\Local\Programs\Python\Python37\lib\site-packages\gym\envs\atari\__init__.py", line 1, in <module>
    from gym.envs.atari.atari_env import AtariEnv
  File "C:\Users\rabbott\AppData\Local\Programs\Python\Python37\lib\site-packages\gym\envs\atari\atari_env.py", line 11, in <module>
    raise error.DependencyNotInstalled("{}. (HINT: you can install Atari dependencies by running 'pip install gym[atari]'.)".format(e))
  gym.error.DependencyNotInstalled: No module named 'atari_py'. (HINT: you can install Atari dependencies by running 'pip install gym[atari]'.)

Process finished with exit code 1

Когда я пытаюсь установить его снова, я сталкиваюсь с теми же проблемами, которые у меня были изначально. В частности, я не знаю, как правильно установить среду Atari.

Есть ли относительно простой и понятный способ использования установки, которая уже работает в копии проекта?

Спасибо.

1 Ответ

0 голосов
/ 01 ноября 2018

Самый безопасный способ установки тренажерного зала и работы без каких-либо проблем - использование виртуальной среды Python. Всегда лучше иметь отдельную виртуальную среду для ваших спортивных проектов. Пожалуйста, используйте conda или pipenv для создания виртуальной среды.

Пример в pipenv

установить pipenv

pip install --user pipenv 

зайдите в каталог вашего проекта (где находится ваш .py файл)

cd myproject

установить тренажерный зал

pipenv install gym

установите atari и любые другие зависимости в вашей виртуальной среде следующим образом.

pipenv install atari-py

запустите ваш код

pipenv run python main.py

Это обеспечит бесперебойную работу вашего кода.

Примечание

Pipenv создает разные виртуальные среды для каждого проекта. Если вы хотите использовать одну и ту же среду для нескольких проектов, используйте виртуальные среды в conda , как указано выше.

...