stepjam / RLBench

A large-scale benchmark and learning environment.
https://sites.google.com/corp/view/rlbench
Other
1.11k stars 226 forks source link

Not able to use notebook or ipython for interactive sessions #8

Closed Tete-Xiao closed 4 years ago

Tete-Xiao commented 4 years ago

Hey folks,

This is a really nice work! I'm trying to use the embed function in IPython for creating interactive sessions so that it's easier to probe and play with the environment. However, after the environment starts simulation, I'm not able to call embed function, as the following error will appear:

Traceback (most recent call last): File "tmp.py", line 52, in <module> embed() File "/home/txiao/anaconda3/lib/python3.7/site-packages/IPython/terminal/embed.py", line 387, in embed frame.f_code.co_filename, frame.f_lineno), **kwargs) File "/home/txiao/anaconda3/lib/python3.7/site-packages/traitlets/config/configurable.py", line 412, in instance inst = cls(*args, **kwargs) File "/home/txiao/anaconda3/lib/python3.7/site-packages/IPython/terminal/embed.py", line 159, in __init__ super(InteractiveShellEmbed,self).__init__(**kw) File "/home/txiao/anaconda3/lib/python3.7/site-packages/IPython/terminal/interactiveshell.py", line 460, in __init__ self.init_prompt_toolkit_cli() File "/home/txiao/anaconda3/lib/python3.7/site-packages/IPython/terminal/interactiveshell.py", line 292, in init_prompt_toolkit_cli **self._extra_prompt_options()) File "/home/txiao/anaconda3/lib/python3.7/site-packages/prompt_toolkit/shortcuts/prompt.py", line 344, in __init__ output = output or get_default_output() File "/home/txiao/anaconda3/lib/python3.7/site-packages/prompt_toolkit/output/defaults.py", line 67, in get_default_output return create_output() File "/home/txiao/anaconda3/lib/python3.7/site-packages/prompt_toolkit/output/defaults.py", line 45, in create_output stdout, term=get_term_environment_variable()) File "/home/txiao/anaconda3/lib/python3.7/site-packages/prompt_toolkit/output/vt100.py", line 420, in from_pty isatty = stdout.isatty() ValueError: I/O operation on closed file

I'm wondering whether it's a desirable behavior, or I'm simply not supposed to do so.

Thanks!

stepjam commented 4 years ago

Hi, This is probably a PyRep issue rather than RLBench. I know that PyRep has trouble with anaconda (which you seem to be using). Can you try what you are doing with PyRep directly and see if you get a similar issue. Also see these PyRep issues:

https://github.com/stepjam/PyRep/issues/32 https://github.com/stepjam/PyRep/issues/36

Tete-Xiao commented 4 years ago

Hey,

Thanks for the quick reply! I've tried it on examples on PyRep, and it seems like the error is the same.

I don't think this one is related to Anaconda. I tried using original environment and encountered the same error.

More specifically, I tried example_turtlebot_navigation.py in PyRep. As long as I insert embed after simulation starts, e.g., in the action loop, the program throws out the error. Even at the end of program I had this error.

Shall I keep this thread or raise an issue in PyRep?

Thanks.

stepjam commented 4 years ago

Hi, Sorry for the delay in getting back to you (I've been away). Yes, please raise this in PyRep, I will address it there. Thanks for raising!

Best, Stephen