5 Steps to setup VSCode for Blender Python (on Windows)
Vložit
- čas přidán 5. 07. 2024
- Learn how to set up and install VSCode on Windows for efficient Blender Python development with this step-by-step tutorial. This easy-to-follow guide covers everything from downloading and installing VSCode to configuring it for seamless integration with Blender.
5 Steps to setup VSCode for Blender Python (on macOS)
• 5 Steps to setup VSCod...
5 Steps to setup VSCode for Blender Python (on Linux)
• 5 Steps to setup VSCod...
Visual Studio Code Download
code.visualstudio.com/Download
Python Download
www.python.org/downloads/
Fake Blender Python API module
github.com/nutti/fake-bpy-module
Blender Python scripting: Creating custom operators from scratch
• Blender Python scripti...
00:00 - Intro
01:22 - Step 1 install Python
03:15 - Step 2 install VSCode
03:50 - Step 3 Configure VScode for Python
05:57 - Step 4 Configure VScode for Blender Python
07:18 - Step 5 Configure Blender/VSCode integration
#blender #python #scripting #tutorial #vscode
This is exactly what I needed, thank you. :) I'm familiar with VS Code, Blender and Python, but it's hard to know how to get all of the pieces to play nicely together. Thank you!
Wow. Finally someone figured out how to run blender with vscode! This is huge! Thank you.
Yeah, Jacques Lucke did a lot of work to make this happen!
Brooo, this is clutch! I hope more devs realize how convenient this is. And more content creators like you spread the word. Preciate-cha!
yeah, it is a game changer! 💯
I am glad you are taking the time to show you are not limited to just the Blender editor to create scripts! This is a big help for people and will speed up the scripting process!
Thank you! 😀
Yes, I'm really hoping this will help speed up not only the scripting but also help with understanding how Python works.
Absolutely brilliant tutorial, and the timing could not have been more perfect. Amazing channel, found this out today!
Woohoo!!!
This is new favorite channel. I love vs code.
A really nice and concise video covering everything to get an IDE connected to Blender. Thanks !!!
You're very welcome! ❤️
Darkfall and CG python is must watch, you guys are the best!
needed so long to find any kind of instructions for it. Thanks a lot!!!
You're welcome!
Thank you so much! Clear and straight to the point instructions.
Great tutorial, very helpful. Thanks!
for those installing VS Code take note that Microsoft made a mistake and inverted the User and Systemwide installers. Use the Systemwide installer as the User installer.
Thanks! Great tutorial! :D
It's a masterpiece indeed. Thank you for your sharing!😃
Many thanks!
just what I was looking for to get started, 👍
Thank you. Very useful tutorial
Good tutorial. This channel help me a lot. I will go try to config VSCode at Linux.
Glad I could help!
Wow. This is what I'm looking for!!!
Woohooo! ❤️
Awesome! many thanks =)
Thank you! Great stuff
My pleasure! 😊
thanks for the video. Just in time.
Nice!! 🙂
Awesome steps so easy indeed
Glad you think so!
great video! thank you
I'm happy you liked it! 😊
You are Awesome...
🎉🎉🎉
❤❤❤
I was struggling so hard of using VSC with blender that i gave up and was using the text editor by default. F
but with this vid you helped me to solve the problems i had
Thanks u so much
I'm glad this helped!! Woohoo!
Great video
Thanks!
tyvm!
Hi thank you. Exactly what I was looking for ! Just a question : I do not find the others videos you mentionned to do the same on Linux.. Thank you
Hi
I'm still editing the other versions, they should be out soon
Thank you for your patience!
Nice editor, thanks. Another alternative is vim.
I really love emacs myself....but VS CODE is indispensable!
whoops you failed to mention that you need to install pip first. or else it is not recognized. Overall excellent guide on how to setup this stuff amazing thank you so much!
Thank you!! BROOO
Happy to help
🙀 u can do that, am humbled n greatful for your content 🥺👍
🤗
thank you
You're welcome
Great video and explanation of steps. Well done. My question is about why people prefer this over editing in Blender itself. Totally get that VS code is a wayyy better editor and has git integration and all that stuff, but the first impression I get from doing it this way is that it's a bit.. clumsy? Having to start Blender specifically from the extension, then Shift-Alt-P → blender run script every time, and switching back and for between VS code and blender constantly really got to me after a while. I'm just starting out, so maybe I just need more time with this method, but seeing things in one place - the repl console, editor, viewport, and info panel - felt really nice and I missed that. What are you thoughts about that?
Thanks!
Great question!
I agree that the workflow is not as smooth as it would be if you were working in Blender's script editor.
I actually got annoyed with this and made an and-on to auto-reload/rerun my code when I save the code
czcams.com/video/t3YWMAJURIw/video.html
VSCode also gives a lot of features that the Blender devs will probably never add:
debugging
autocomplete
advanced syntax highlighting
AI assistant integrations czcams.com/video/rGSWz1SL16Y/video.html
and other things a dedicated IDE is great at
Every feature in Blender requires maintenance and support. I think it would benefit more people if the Blender developers worked on cool new features in the renders, animation workflows, particle system workflows, and geo nodes rather than spending time improving the script editor.
@@CGPython Thanks for that thoughtful response, I'll have a look at those other videos of yours and give it some more time. Also simply having Blender available on another screen may make things feel a little more connected.
@@CGPython I found a setting in the Blender Development VS Code extension called Reload On Save.
And I totally agree that the blender devs should really focus on the core product and not the script editor!
thank you :)
You're welcome!
yes fake-bpy-module can work!
Thanks for the tutorial! I was wondering if it is possible to run other libraries, such as pandas, numpy etc in VS code. Been trying to do it directly in Blender, but it does not work :/
Are you talking about creating Blender Python scripts that use numpy and pandas?
numpy is shipped with Blender, so you can just import numpy in your Blender scripts
With pandas you will need to install it into Blender's built-in Python interpreter.
Great tutorial thank you!!! vs code cannot be compared with blender's text editor it is 1000 times better
amazing tutorial. I am a bit dumb though, it all works, but when I press run code in vscode (ive done Blender: run script properly) it gives ModuleNotFoundError for the blender specific imports like bpy
Thank you!
The catch here is that you can't run these Blender Python scripts as you would run the regular Python scripts that don't use `bpy`.
You can only run them in Blender. This is done by selecting the `Blender: Run Script` command from the VSCode command palette.
When you pressed "Run Script", what interpreter did you choose, the Blender python interpreter or the python version installed on your machine?
This runs the Blender python interpreter.
The extension installs an operator that allows VSCode to send messages to the running operator inside of Blender
Hi, im a complete noob in the addon creation.Thank you for your tutorials, they're very helpful in learning scripting for blender.
I've been working on an addon and i have decided to use VSC as my IDE. I've noticed that as i try to run the addon from VSC, Blender doesn't seem to add the panel into the region. The same code run from built-in blender script editor works without any problems. Is there any known cause for this issue?
Do you have the 'bl_info' dictionary at the top of the file?
For example:
bl_info = {
"name": "My Custom Panel",
"author": "Victor Stepanov",
"version": (0, 0, 1),
"blender": (2, 80, 0),
"location": "3D Viewport > Sidebar > My Custom Panel category",
"description": "My custom operator buttons",
"category": "Development",
}
Thank you for this. I know this is a python for blender channel but, is there any chance you might teach us how to do stuff in c++ to make changes to blender itself?
I might touch the Python API bindings in C++ but that would be as far as I like to go on this channel.
I have seen a number of great talks on that subject
czcams.com/video/gSIgW_N7o3U/video.html
czcams.com/video/OxwrSdt6I4w/video.html
Also there are great articles like this
aras-p.info/blog/2022/02/03/Speeding-up-Blender-.obj-export/
@@CGPython I understand. Thank you so much for your super fast response! I've love all of the videos I've seen. Please, keep them coming.
At 8:21, after doing the necessary steps I get the error in VScode "no workspace folder found". This error occurs after I do CTRL + SHIFT + P --> Blender: Start --> {path}.blender.exe.
Any idea how solve this?
Edit: solved problem by first doing: Blender: new script and then paste the contents of my script in that script. Then Blender: Start booted up Blender
I recorded a quick fix for that
czcams.com/users/shortsK9Ft10KuLCA
It is all about not having a folder open in VSCode
@@CGPython 👍
Hey I need an advice
I want to do a project where i can extract features from a image using machine learning and put it on my blender model
Eg:consider a cloth 3d model and now adding color i want to extract it froma image and put it on my cloth model can i do it?
You would need to create an image of what you want to put on the model.
Load that texture in blender and then do a UV unwrap.
See 10 minutes in to this video
czcams.com/video/aSkgwf0SX_k/video.htmlsi=-eLBlRpY0V7S590r
Hiiii, can you make a video on how to install python packages like mediapipe in blender?
Good idea!
Installing Python packages is on my list of things to film
Thanks for the video! Have you seen where blender shuts down right after it opens with the python code? Getting a could not install debugpy message.
I explain how to fix that here
czcams.com/video/YUytEtaVrrc/video.html
link with timestamp
@@CGPython still getting the message 🙁
@@robertoalvira626 you should try getting the portable version of Blender for windows.
www.blender.org/download/
You can find that download option under the "Mac, Linux, and other versions" drop down
nice video, but if i disconnect the debug client by accident, how to re connect ? close blender and reboot it ?
Yeah, you just close blender and start the debugging session again
when I go to download python 3.10.13 (the version that appears in the blender 4.0 console), there is no option to download it for windows, would it be a problem to use a newer version?
If you install Python 3.10.11 you should be fine
www.python.org/downloads/windows/
Thank you for the video, for import bpy I am not getting error but if I write from bpy.types import Operator I get error ImportError: cannot import name 'Operator' from 'bpy.types' (unknown location). (Please note I followed fake bpy installation video properly, even referred similar videos on Ytube). Any hint will help.
I think you are running the script using the Python that you installed on Windows. This Python is only there to help with syntax highlighting and auto-complete.
You need to run the script by starting Blender and then calling "Run Script" from the command pallet.
@@CGPython Oh... okayyy.... Thank you... !
I've been using this setup for a week, and I noticed that if the script is written like
def main():
...
if __name__ == "__main__"
main()
then the "Blender: Run script" command won't run main(). Is it possible to make it work?
@Silas if _name_ == "__main__" is not True,
>>> print(__name__)
>>>
the codes in the if statements never run!
Yeah, I also ran into that but never took the time to dig into the root cause of the issue. (I would just workaround the issue...)
I just did some digging and published a potential fix to the fork I made of the Blender Development extension by Jacques Lucke.
marketplace.visualstudio.com/items?itemName=CGPython.blender-development-experimental-fork
You would need to disable the original Blender Development extension in VSCode before installing the fork.
If this works for everyone, I'll create a pull request for the original extension.
Is there a way to have all this for blender 4.0?
Update: There's an experimental build, sorry.
I submitted a fix proposal to the primary Blender Development's extension to fix this:
github.com/JacquesLucke/blender_vscode/pull/154
Hopefully, we can ship this fix soon after Jacques reviews this change.
The latest version of the extension fork already has this fix (if you are blocked and need this ASAP, you can use that)
marketplace.visualstudio.com/items?itemName=cgpython.blender-development-experimental-fork
@@CGPython Blocked? Btw, yeah, I saw there was an update and didn't see it on VSCode, so I downloaded the experimental branch, I forgot I made this comment, and just updated as you put the heart xD.
Thx anyway, this can help if someone has the same problem ^^
Hello!
Blender 4.0 just released - would you kindly do a video on how to get it to work for this?
Unfortunately it does not seem to work straight of the box!
Same for me. Even running an empty script throws the following error: ValueError: 1-2 args execution context is supported
I submitted a fix proposal to the primary Blender Development's extension to fix this:
github.com/JacquesLucke/blender_vscode/pull/154
Hopefully, we can ship this fix soon after Jacques reviews this change.
The latest version of the extension fork already has this fix (if you are blocked and need this ASAP, you can use that)
marketplace.visualstudio.com/items?itemName=cgpython.blender-development-experimental-fork
How do you color fix your screen recorded webpages...they are awesome...can't figure it yet?
I don't have any settings/filters in my OBS or Davinchi.
Maybe Davinchi Resolve does something autocorrecting?
@CGPython thanks for letting me know...since I use Adobe if you find a link of how I can CC a website if you can post it here......I couldn't find one...and since there seems to be no way to move a preferences window to the center of the screen when you make a show user preferences function for your addon....so it looks nice...can u make a tutorial. On how I can split view3d and open user pref in the left hand pane and figure out a nice system for the end user to close this new split pane....like a button that joins the panes. Or better...seems to be the only workaround...for a nice ui that displays windows to end users
@@toapyandfriends That is interesting!
I'll need to think about how that would be done
@CGPython Thanks! If you can you would be hero to all is Blender UX guys!
I have completed all the steps in your video (thank you) but I am getting a message after I run the side panel code in vs (You do not have IntelliSense configured. Unless you set your own configurations, IntelliSense may not be functional.) and the side bar does not appear in blender. What compiler should I install?
Hi!
Sorry, this isn't working for you out of the box!
Did you use the __init__.py file for the side panel code?
If the code isn't in a separate folder and isn't in a __init__.py file, this won't work.
Something to check:
Can you run the side panel code from Blender's text editor to make sure that it works without VSCode?
> You do not have IntelliSense configured. Unless you set your own configurations, IntelliSense may not be functional.
The Blender Development extension does depend on the C++ extension, but you shouldn't need a C/C++ compiler for this to work.
@@CGPython Thanks for the quick reply! I tried again, but no luck, so I added the add on in Blender and it works. Thanks again!
@@chriskiepfer450 Ah! That is sad that it isn't working for you.
Does script debugging work for you at least?
@@CGPython As I was facing the same issue, and all of IntelliSense's preferences referred to C/C++ programming (it seems to require the presence of a compiler for those languages), I tried installing Visual Studio Community Edition alongside Visual Studio Code, too, only selecting its C/C++ programming components.🤔
Once done, Visual Studio Code's IntelliSense for Python seems to work without any complaint.
(Maybe there's a simpler way to do it from inside VSCode itself yet, by installing some C/C++-related Extension? Or through some smallish compiler installer from Microsoft?)
yes i did it ! But i think there is something good to mention If you try to run the script from F5 or the menu start debugging to run the script - fails
always have to ctrl+shif+p + run script to run . it took me a long to figure it out and I was ready to give up
This is a good point! ❤️
I sometimes find myself pressing that out of habit 🙃
I have an add-on that I use that runs my scripts on save.
I'm planning to do a tutorial at some point about it.
@@CGPython at the end of my script i have "if __name__ == "__main__": register()" so that the plugin gets registered when its executed. But if i run it from vscode the plugin isnt registered.
How can I do the same things for Sublime text?
Have you seen this github.com/clawjelly/SublimeBlenderAddon
It might be a bit old but maybe it still works?
another problem I'm having, when I press ctrl+shift+p and search for blender.exe in blender start, it returns this error "no workspace folder found"
I have a short video how to fix that
czcams.com/users/shortsK9Ft10KuLCA
Its a great workflow, but sadly it does not work well with Extensions in Blender 4.2 Beta. Does anybody have a workflow already for developing blender Extensions instead of Addons. Right now the vscode Blender Development Plugin will add the Extension as an additional Addon so it gets loaded twice.
my addon works fine if i install it in blender,
but in debug vscode i get
ModuleNotFoundError: No module named 'xxxxx'
what might be wrong there?
Are you using a separate folder with __init__.py for your add-on?
Where is the xxxxx module located?
Are you using "Run Script" or just "Blender: start" ?
hi i dont know if this is a common problem but i did the pip install for both the latest version and 3.4 and when i type bpy. it doesn't prompt anything in terms of autocomplete. Am i doing it wrong?
IIRC you need to restart VSCode after you install via pip.
Is it still not working for you?
@@CGPython same problem for me also, I restarted my vs code, but its not showing bpy module as installed, but when I do ''pip install fake-bpy-module-latest'', its saying requirement already satisfied, can u pls give me a solution
There is a way to install the autocomplete manually.
You would download the zip, extract it, and make VSCode use in (via settings)
Here is how
github.com/nutti/fake-bpy-module/blob/master/docs/setup_visual_studio_code.md
I get an error message "The file can not be accessed by the system" when trying to start the Blender app( C:\Users\USER\AppData\Local\Microsoft\WindowsApps\blender-launcher.exe) from VS Code. I am using Windows 10.
Hey,
Did you install Blender from the Windows Store?
I'm not 100% sure that is supported by this extension.
Is there a blender.exe in that folder?
Install nutti/fake-bpy-module but couldn’t work warning: There was an error checking the latest version of pip. Why?
You can try this
bobbyhadz.com/blog/python-warning-there-was-an-error-checking-the-latest-version-of-pip
Please help me! I'm a total beginner and i'm lost! I wnet through your video and everything is ok, the cube is moving etc. But, i want to use this for different things and that is not working.
A similar example is in the Blender scripting workspace, there are templates, and there are a UI template python file. If i copy that into Visual Studio and run, it is not doing it's thing, just nothing. If i run it in Blender, it works.
So what's the problem? Why these UI example files do not work in VS? I really badly need that :(
Hey!
You need to creat a new folder and a __init__.py for this and add bl_info dictionary at the top of the script. Basically you need to create an add-on.
I’ll make a shot this week on this topic.
Take a look at the end of this video
Exploring the Pie Menu Template in Blender with Python
czcams.com/video/zAMVFPr8ZIE/video.html
@@CGPython I've made it!!! Thank YOU SO MUCH!!!!!!!!!!
@@CGPython In this setup, i can't open blender's system console, so the "print" command writes to where? Into Visual Studio somewhere? Can't find...
You can see the print() output in the "Terminal" panel (at the bottom of VSCode). If you don't see the "Terminal" panel, you can open it via View >Terminal.
This is what I was looking for, but there is one problem. In order to make the script work I need to put the code in the Blender editor. If the files in VSCode are not the same as the code in Blender editor, the script will not run.
Hi!
Can you share your script?
It is hard to know what is going on without looking at the code.
@@CGPython hi, is still me, @thenewnpc with another account. I found out that if we write python for Blender in VS Code we cannot import other files/modules as text blocks, configs = bpy.data.texts["configs.py"].as_module(), because that is syntax for Blender Text Editor that declares files as text blocks. And that is why I was getting that error, it couldn't find the modules imported like that. So naturally when I copied the code inside Blender Text Editor it worked again because the syntax was accepted by the interpreter/ compiler...whatever. Bottom line, when writing python for Blender externally, ex: VS Code, we can use normal python imports, "from file import some_method".
Hi, what about PyCharm for Blender Python?
Hey!
PyCharm is a great editor as well!
I think this is what you would need to use
github.com/BlackStartx/PyCharm-Blender-Plugin
b3d.interplanety.org/en/using-external-ide-pycharm-for-writing-blender-scripts/
I'm trying to connect blender to vscode but when I run the code and select the exe, it says "no workplace found" pls help 😔
I explain how to resolve it here
czcams.com/users/shortsK9Ft10KuLCA
I am a newbie. Sorry to bother, but I set up Python 3.11 plus VSCode and I get this error when trying to install the fake_bpy_module:
Loading configuration....
Done loading configuration
Checking for valid pip....
WARNING Python not found for [PythonPath: [none] | EnvName: [none] | PathToEnvs: [none]]; this environment will be ignored
Done checking for valid pip
Setting up specified environments....
ERROR no valid environments exist! Update aborted.
***UPDATE FAILED TO COMPLETE***
Python 3.11 is in the system path. Any suggestions would be helpful. Thank you!
How did you install Python 3.11?
You might have installed it via the Windows store
stackoverflow.com/a/58773979
double check where the Python.exe is located by running this:
where python
in your Command Prompt
@@CGPython It took a few days, but I figured it out. Once I set up an environment with venv, pip starting working. I also downloaded conda. I like conda better so far, but I haven't enough experience to really argue the point. The conda syntax seems a bit simpler. Thanks for looking into it.
its not working for me, after installing fake bpy module, it is not showing up
unable to get auto complete
have you restarted VSCode?
if you run this command
pip show fake-bpy-module-latest
what does it print?
@@CGPythonyes restarted the vscode, it's showing requirement is already satisfied, blender development run script is working fine in blender, but that auto complete is not showing up in vs code, it behaves like bpy module is not installed
The only thing that comes to mind that might be an issue is that
1 VSCode is out of date
2 The Python VSCode extension is not installed/is out of date
3 The selected Python interpreter (bottom right status bar) is not the Python interpreter where you installed fake-bpy
I'm going to guess these ^ are not the issues.
There is a way to install the autocomplete manually.
You would download the zip, extract it, and make VSCode use in (via settings)
Here is how
github.com/nutti/fake-bpy-module/blob/master/docs/setup_visual_studio_code.md
@@CGPython I had the same issue and for me it was that I had several Python versions installed and VSCode used the wrong interpreter.
If anyone else is having this issue, just type in your terminal (the same terminal where you ran the pip install command for fake-bpy) "which python". It will print the path for the Python used when installing fake-bpy.
Next, in VSCode use Ctrl+Shift+P then type in "Select interpreter" and there should be an option there to select Python interpreter, just use the same as was printed when you ran the "which python" command
Still so interesting. Thanks for this tutorial. Note: I found a way to make bevels on specified edges. If you're interested, it's at the end of my last tutorial: czcams.com/video/s8Y4AjP9GuU/video.html
That is cool! 😃
BTW
not sure if you saw my last reply (on your question when you were asking about the bevel) with example code
gist.github.com/CGArtPython/bc10b8a9b6e4934458bb664d8f45f1e1
I guess you didn't see it 🙂
@@CGPython By the way... Do you know a tutorial on how to use the blf module in python to write on the 3D View panel of blender?
I haven't seen any tutorials on blf :(
@@CGPython Thank you ! I will keep looking
Fantastic tutorial, many thanks!
Glad you enjoyed it!