I know the standard print(“something”) goes to the console window (if one) used to launch Blender. Is there a way to get this to feed output (and perhaps input()) through the long window at the bottom of the default scripting layout?
I don’t think so.
It would be nice to have a window type that was the console.
Thanks for your answer. It is surprising that there isn’t a way. I was fully expecting that there would be something kind of bpy.out() or similar to feed to the interactive console. Yes, I imagine it would make converting games from console to blender a lot easier.
you can also write directly to an internal text file - but i agree, it would be great if the blender console view had a second mode for displaying output of print / log statements.
It’s also possible to execute python code that is located inside a blender text file, from the python console. For instance, say I have a internal text object in the blend called ‘glan.py’ to run it, and get output inside console do
>>> pymod = bpy.data.texts['glan.py'].as_string()
>>> exec(pymod)
...(will start executing and printing here)
But as soon as you start getting complicated you’ll probably want to use a terminal window anyway, so you can log output to a file as well as seeing the live print statements. I don’t imagine the performance of exec would be spectacular, but it might be worth using this method while you debug on the short term.
Did they remove this feature in 2.64? It doesn’t seem to work for me anymore.
exec(bpy.data.texts[‘Text’].as_string()) works fine for me (2.64)