Would it be possible to call Python codes I wrote in Text Editor from the Python console so that I can interact with it?
2 Answers
If you name your script *.py
in the text editor you can import it in the console as a module.
Beware - after you imported the script for the first time you can't import it again. If you make changes to the module you can use imp.reload
or importlib.reload
(for blender versions > 2.71 using python 3.4)
-
$\begingroup$ I wasn't able to do this. Does anybody know if this is still current? $\endgroup$– KaiaCommented Feb 10 at 0:44
-
$\begingroup$ A solution for Blender 4.2 can be found here blender.stackexchange.com/questions/190404/… $\endgroup$ Commented Sep 19 at 8:17
You can retrieve the Text datablock's text as string and run it in the context of the Python Console.
Here's an addon that makes it easy to do so:
Run Script in PyConsole (Menu)
Globals of your script will be added to the globals of the Python Console environment.
-
$\begingroup$ That's an useful addon. Is there an option to reset a console in blender? $\endgroup$ Commented Jul 8, 2014 at 10:28
-
$\begingroup$ As in resetting the scrollback, history and environment (globals and locals)? Well, you can remove members from locals() and globals() and
bpy.ops.console.clear()
resets the scrollback, but the history stays. I tried resetting the console by splitting and joining the area, but joining is buggy. $\endgroup$– CodeManXCommented Jul 8, 2014 at 21:40