Which ide for python ?

Which ide is best for python ?

I am using now Wings, but I would have to buy it later
if I keep using it. Are there good alternatives

Iā€™m using VSCode, very happy with it

Its looking nice, thanks !
It has good syntax highlight, auto completion
and ā€œoverviewā€ of project =)

anadin, do you execute from the terminal?

Using external IDE PyCharm for writing Blender scripts

https://b3d.interplanety.org/en/using-external-ide-pycharm-for-writing-blender-scripts/

Heck, you can even pop open a Linux command-line window and use an ā€œold-fashionedā„¢ā€ tool like vi. :yes:

(Which, by the way, is surprisingly powerful and well-suited for the purpose, once you let go of the mouse.)

Really, ā€œfree programmerā€™s editorsā€ are pretty much a dime a dozen. I donā€™t see much reason to pay money to edit a text file.

Look into the extension CodeRunner, you have to set up a few config files but then you can use ctrl+shift+p / cmd+shift+p and choose run, It will then run in the built in terminal

@anadin
I just run in VSCā€™s terminal.

@sundialsvc4
vi , well that sure is a choise

Moved from ā€œMisc: > Off-topic Chatā€ to ā€œCoding > Python Supportā€

pycharm rocks. It has great code completion, easy collapsing, one click git checkouts and push, smart undo historyā€¦ There are just some programs the ā€˜get itā€™ and pycharm is one of them.

1 Like

vs2015, especially for addon projects.

I would use vs2017, but for now I only use it for C++ because python Intellisense is completely broken on it. Works in the interactive window perfectly, but not at all in the code editor. Itā€™s missing all sorts of builtins, and as such it fails to recognize things like standard decorators, which is annoying because classmethod(s) or staticmethod(s) wonā€™t show up in the list of class level members. I have tried everything to reset it (db, experimental mode, alt py installs, etc). Same results all the time. Eh.

If I donā€™t need project management or deal with lots of files, then any editor will do: notepad++/notepadqq, command line, etc.

The standalone code editors that I hate are the super bloated slow/laggy ones that use gigantic web frameworks with javascript. I also do not use anything that canā€™t be installed and used offline, and by extension (and principal): NO SUBSCRIPTION SOFTWARE OF ANY KIND EVER!!!

VS Code. Thereā€™s even a Blender debug support addon for it (which I havenā€™t tried yet) https://www.youtube.com/watch?v=UVDf2VSmRvk

Another thumbs up from me for PyCharm

I have also developed a live coding library

Live coding is that ability to change code while it executes without having to restart or wait for something. Essentially its like real time render , in this case, its real-time coding. Together with PyCharm this technique its very flexible because it allows me to experiment very fast with my code without having to restart my addon or use the python debugger. I am also slowly developing my own reflection tools , which basically can navigate, inspect and detect problems, together with using logging python library to create logs with errors so I can bypass the need for a console.

Because I am creating a secondary GUI API for Blender (Morpheas) I am also creating essentially my own mini-IDE inside Blender (for example I have create a button that triggers the python debugger) that will slowly replace PyCharm or at least extend it to make it more Blender friendly.

Anaconda Spider (editor not the radio active creature)

Wow the VS code is great. Finally Iā€™m able to debug blender scripts like normal person.
I canā€™t get auto completion for bpy thought.
In pycharm I could just link to pypredef module definitions from pitiwazou, but It dosenā€™t seem to work in vs codeā€¦
Anyway the best way to debug In pycharm was using IPDB like in here:
https://youtu.be/cxKRCCaBnMY?t=43
you just install it by typing in cmd shell:

pip install ipdb

And then in your script import it like so:

<i>import sys</i>
<i>dir = 'C:\\Users\\JoseConseco\\AppData\\Local\\Programs\\Python\\Python35\\Lib\\site-packages'</i>
<i>if not dir in sys.path:</i>
<i>    sys.path.append(dir )</i>
<i>import ipdb</i>


YOu may need to change user name, and depending on python use: Pyhton35 or Python36 in dir string.

And then just follow steps from video above. You will get nice way to print local variables, with ability to autocomplete object variables and methods in blender console, step through each line of code etc.

I bought Wingwares ide, I simply like it.

If someone wants to join a project, please pm

Definitely vim. Thatā€™s what I tend to use for Blender development (when Iā€™m not too lazy to leave the Blender text edtior :P)

@jpyams

It must take remembering lot of keyboard commands

Thereā€™s a steep learning curve, to be sure. Itā€™s like Blender and all of its keyboard shortcuts; it takes a while to learn, but once you do your speed goes through the roof!