google-deepmind/dm_alchemy

grpc.FutureTimeoutError

Closed this issue · 2 comments

unfortunately on windows, I run into the same error trace as #1 trying to run human_agent.py:

python human_agent.py --seed 123 --level_name alchemy/perceptual_mapping_randomized_with_rotation_and_random_bottleneck'
gives the error:

pygame 2.0.1 (SDL 2.0.14, Python 3.7.9)
Hello from the pygame community. https://www.pygame.org/contribute.html
Traceback (most recent call last):
  File "human_agent.py", line 186, in <module>
    app.run(main)
  File "C:\Users\jonat\AppData\Local\Programs\Python\Python37\lib\site-packages\absl\app.py", line 303, in run
    _run_main(main, args)
  File "C:\Users\jonat\AppData\Local\Programs\Python\Python37\lib\site-packages\absl\app.py", line 251, in _run_main
    sys.exit(main(argv))
  File "human_agent.py", line 117, in main
    environment_variables=environment_variables) as env:
  File "C:\Users\jonat\AppData\Local\Programs\Python\Python37\lib\site-packages\dm_alchemy\_load_environment.py", line 389, in load_from_docker
    connection_details=_connect_to_environment(port, settings),
  File "C:\Users\jonat\AppData\Local\Programs\Python\Python37\lib\site-packages\dm_alchemy\_load_environment.py", line 246, in _connect_to_environment
    channel, connection = _create_channel_and_connection(port)
  File "C:\Users\jonat\AppData\Local\Programs\Python\Python37\lib\site-packages\dm_alchemy\_load_environment.py", line 204, in _create_channel_and_connection
    _check_grpc_channel_ready(channel)
  File "C:\Users\jonat\AppData\Local\Programs\Python\Python37\lib\site-packages\dm_alchemy\_load_environment.py", line 183, in _check_grpc_channel_ready
    return grpc.channel_ready_future(channel).result(timeout=1)
  File "C:\Users\jonat\AppData\Local\Programs\Python\Python37\lib\site-packages\grpc\_utilities.py", line 140, in result
    self._block(timeout)
  File "C:\Users\jonat\AppData\Local\Programs\Python\Python37\lib\site-packages\grpc\_utilities.py", line 86, in _block
    raise grpc.FutureTimeoutError()
grpc.FutureTimeoutError

the command that is mentioned in #1 was already updated in the installation instructions, but does not seem to help. Running

level_name = 'alchemy/perceptual_mapping_randomized_with_rotation_and_random_bottleneck'
seed = 1023
settings = dm_alchemy.EnvironmentSettings(
    seed=seed, level_name=level_name, width=width, height=height)
env = dm_alchemy.load_from_docker(settings)

in the AlchemyGettingStarted.ipynb seems to give the same error.
The setup is as written in the guide and uses Docker Desktop (except that I don't use a Python virtual environment).
docker run -d gcr.io/deepmind-environments/alchemy:v1.0.0 gives no error.

While you don't officially support windows maybe you can still help?

Hello!

As far as I know we haven't tested dm_alchemy on Windows yet. But when we tested a previous release (dm_memorytasks), we were able to get it working by running the Python code from within a WSL shell (WSL being Windows Subsystem for Linux).

For reasons we didn't dig into at the time, running the Python code with a native Windows python installation didn't work - we might debug this at some point if lots of users are interested on using our environments on Windows.

Thank you for this insight! Using python inside a WSL Ubuntu, VcXsrv (and Windows Docker Desktop) works.