Using external python editors

Anyone got any tips on using an external IDE for editing python scripts (Blender 2.49).

What I would love is for blender to be able to auto load the changed script when I come back to it after saving the altered one in anoother IDE. At the moment, it does show an icon for when I have saved the file, however I then have to load it and excute it every time I wish to see a change.

I guess what I am looking for is a more stream-line way of building my python script. Can’t say I am a big fan of the built in text editor!.

Hi, Im currently using PythonWin as an external Py editor + compiler. It is only useful for compiling modules (if you have any) cause import declarations for modules like Blender, etc. result to an error message and we all know there is NO script in Blender without such declarations :wink:

Yes - the built-in Blender Py editor is tragic but it is the only way to develop Py-scripts for Blender so far. I’d be happy if in the newer versions of Blender the editor is improved to be more human-friendly but I dont think this will be the case :stuck_out_tongue:

I also use ConTEXT text editor for better & faster reviewing previously made scripts. It shows keywords, constants, etc. in different colors which helps readability a great deal.

Regards,

if you use xp or vista, did you try notepad++ ? my favourite one. (gpl)
http://notepad-plus.sourceforge.net/uk/site.htm
among the numerous features it has (tabs, syntax hightlights in a lot of language,global search/replace etc…), you can have two different views one a same text file, which is very useful for looong scripts.

the editor is irrelivant for saving changes. blender compiles your py file to a pyc file and actually runs off the pyc file to save time. you have to use the reload file to remake the pyc file or delete the pyc files so python will make a new one with your changes.

here is onbe way : http://www.elifulkerson.com/projects/python-dynamically-reload-module.php

Yeah thats something like I require.

What I want is a way to speed up the development of my script. I want to edit in another IDE, save then pop right back to blender to try out the change without the need to reload the changed text file and execute the script!.

I am surprised that nobody pointed at stani’s python editor. I would just drop the link here, i have not tested any of this stuff yet though.

IDLE comes with python and is decent (syntax highlighting, autoindentation, etc.) If you want more power you can use vim or emacs, but they have a steep learning curve.

If you want to do autoloading you could write a python script that polled your source file and eval’d it if it changed. The

select
(http://docs.python.org/dev/3.0/library/select.html#epoll-objects) module is very useful for that sort of thing, as is
threading
(http://docs.python.org/dev/3.0/library/threading.html?highlight=threading#module-threading).