Uploaded by Piya Julkittiphan

Getting started with VS Code for Python Setting up a development environment

advertisement
19/3/66 03:09
Getting started with VS Code for Python: Setting up a development environment
Search Python GUIs
Search
Getting started with VS Code
for Python
Setting up a Development
Environment for Python
programming
by Punition Chaetognathan  Last updated 21 September 2022  Python GUI Widget Library
Setting up a working development environment is the first step for any project.
Your development environment setup will determine how easy it is to develop and
maintain your projects over time. That makes it important to choose the right tools
for your project. This article will guide you through how to set up Visual Studio
Code, which is a popular free-to-use, cross-platform code editor developed by
Microsoft, in order to develop Python applications.
Visual Studio Code is not to be confused with Visual Studio, which is a

separate product also offered by Microsoft. Visual Studio is a fully-fledged
IDE that is mainly geared towards Windows application development using
C# and the .NET Framework.
https://www.pythonguis.com/tutorials/getting-started-vs-code-python/
1/12
19/3/66 03:09
Getting started with VS Code for Python: Setting up a development environment
Setup a Python environment
In case you haven't already done this, Python needs to be installed on the
development machine. You can do this by going to python.org  and grabbing the
specific installer for either Windows or macOS. Python is also available for
installation via Microsoft Store on Windows devices.
Make sure that you select the option to Add Python to PATH during

installation (via the installer).
If you are on Linux, you can check if Python is already installed on your machine
by typing python3 --version in a terminal. If it returns an error, you need to install it
from your distribution's repository. On Ubuntu/Debian, this can be done by typing
sudo apt install python3 . Both pip (or pip3 ) and venv are distributed as separate
packages on Ubuntu/Debian and can also be installed by typing sudo apt install
python3-pip python3-venv .
Setup Visual Studio Code
First, head over to to code.visualstudio.com  and grab the installer for your
specific platform.
If you are on a Raspberry Pi (with Raspberry Pi OS), you can also install VS Code
by simply typing sudo apt install code . On Linux distributions that support Snaps ,
you can do it by typing sudo snap install code --classic .
Once VS Code is installed, head over to the Extensions tab in the sidebar on the
left by clicking on it or by pressing CTRL+SHIFT+X . Search for the 'Python' extension
published by Microsoft and click on Install.
https://www.pythonguis.com/tutorials/getting-started-vs-code-python/
2/12
19/3/66 03:09
Getting started with VS Code for Python: Setting up a development environment
https://www.pythonguis.com/tutorials/getting-started-vs-code-python/
3/12
19/3/66 03:09
Getting started with VS Code for Python: Setting up a development environment
The Extensions tab in the left-hand sidebar.
Usage and Configuration
Now that you have finished setting up VS Code, you can go ahead and create a
new Python file. Remember that the Python extension only works if you open a .py
file or have selected the language mode for the active file as Python.
To change the language mode for the active file, simply press CTRL+K once

and then press M after releasing the previous keys. This kind of keyboard
shortcut is called a chord in VS Code. You can see more of them by
pressing CTRL+K CTRL+S (another chord).
The Python extension in VS Code allows you to directly run a Python file by clicking
on the 'Play' button on the top-right corner of the editor (without having to type
python file.py in the terminal).
You can also do it by pressing CTRL+SHIFT+P to open the Command Palette and
running the > Python: Run File in Terminal command.
Finally, you can configure VS Code's settings by going to File > Preferences > Settings
or by pressing CTRL+COMMA . In VS Code, each individual setting has an unique
identifier which you can see by clicking on the cog wheel that appears to the left of
each setting and clicking on 'Copy Setting ID'. This ID is what will be referred to
while talking about a specific setting. You can also search for this ID in the search
bar under Settings.
Linting and Formatting Support (Optional)
Linters make it easier to find errors and check the quality of your code. On the
other hand, code formatters help keep the source code of your application
compliant with PEP (Python Enhancement Proposal) standards, which make it
easier for other developers to read your code and collaborate with you.
https://www.pythonguis.com/tutorials/getting-started-vs-code-python/
4/12
19/3/66 03:09
Getting started with VS Code for Python: Setting up a development environment
For VS Code to provide linting support for your projects, you must first install a
preferred linter like flake8 or pylint .
BASH
pip install flake8
Then, go to Settings in VS Code and toggle the relevant setting (e.g.
python.linting.flake8Enabled ) for the Python extension depending on what you
installed. You also need to make sure that python.linting.enabled is toggled on.
A similar process must be followed for code formatting. First, install something like
autopep8 or black .
BASH
pip install autopep8
You then need to tell VS Code which formatter to use by modifying
python.formatting.provider and toggle on editor.formatOnSave so that it works without
manual intervention.
If pip warns that the installed modules aren't in your PATH, you may have

to specify the path to their location in VS Code (under Settings). Follow the
method described under Working With Virtual Environments to do that.
Now, when you create a new Python file, VS Code automatically gives you a list of
Problems ( CTRL+SHIFT+M ) in your program and formats the code on saving the file.
Identified problems in the source code, along with a description and line/column
numbers.
https://www.pythonguis.com/tutorials/getting-started-vs-code-python/
5/12
19/3/66 03:09
Getting started with VS Code for Python: Setting up a development environment
You can also find the location of identified problems from the source overview on
the right hand, inside the scrollbar.
Working With Virtual Environments
Virtual environments are a way of life for Python developers. Most Python projects
require the installation of external packages and modules (via pip ). Virtual
environments allow you to separate one project's packages from your other
projects, which may require a different version of those same packages. Hence, it
allows all those projects to have the specific dependencies they require to work.
The Python extension makes it easier for you by automatically activating the
desired virtual environment for the in-built terminal and Run Python File command
after you set the path to the Python interpreter. By default, the path is set to use
the system's Python installation (without a virtual environment).
To use a virtual environment for your project/workspace, you need to first make a
new one by opening a terminal ( View > Terminal ) and typing python -m venv .venv .
Then, you can set the default interpreter for that project by opening the Command
Palette ( CTRL+SHIFT+P ) and selecting > Python: Select Interpreter .
You should now either close the terminal pane in VS Code and open a new one or
type source .venv/bin/activate into the existing one to start using the virtual
environment. Then, install the required packages for your project by typing pip
install <package_name> .
VS Code, by default, looks for tools like linters and code formatters in the current
Python environment. If you don't want to keep installing them over and over again
for each new virtual environment you make (unless your project requires a specific
version of that tool), you can specify the path to their location under Settings in VS
Code. - flake8 - python.linting.flake8Path - autopep8 - python.formatting.autopep8Path
To find the global location of these packages on macOS and Linux, type which flake8
and which autopep8 in a terminal. If you are on Windows, you can use where
https://www.pythonguis.com/tutorials/getting-started-vs-code-python/
6/12
19/3/66 03:09
Getting started with VS Code for Python: Setting up a development environment
<command_name> . Both these commands assume that flake8 and autopep8 are in
your PATH.
Understanding Workspaces in VS Code
VS Code has a concept of Workspaces. Each 'project folder' (or the root/top folder)
is treated as a separate workspace. This allows you to have project-specific
settings and enable/disable certain extensions for that workspace. It is also what
allows VS Code to quickly recover the UI state (e.g. files that were previously kept
open) when you open that workspace again.
In VS Code, each workspace (or folder) has to be 'trusted' before certain

features like linters, autocomplete suggestions and the in-built terminal are
allowed to work.
In the context of Python projects, if you tend to keep your virtual environments
outside the workspace (where VS Code is unable to detect it), you can use this
feature to set the default path to the Python interpreter for that workspace. To do
that, first Open a Folder ( CTRL+K CTRL+O ) and then go to File > Preferences > Settings
> Workspace to modify python.defaultInterpreterPath .
Setting the default interpreter path for the workspace.
In VS Code settings you can search for settings by name using the bar at

the top.
https://www.pythonguis.com/tutorials/getting-started-vs-code-python/
7/12
19/3/66 03:09
Getting started with VS Code for Python: Setting up a development environment
You can also use this approach to do things like use a different linter for that
workspace or disable the code formatter for it. The workspace-specific settings you
change are saved in a .vscode folder inside that workspace, which you can share
with others.

If your VS Code is not recognizing libraries you are using in your code,
double check the correct interpreter is being used. You can find which
Python version you're using on the command line by running which python
or which python3 on macOS/Linux, or where python or where python3 on
Windows.
Working With Git in VS Code (Optional)
Using Version Control is required for developing applications. VS Code does have
in-built support for Git but it is pretty barebones, not allowing much more than
tracking changes that you have currently made and committing/pushing those
changes once you are done.
For the best experience, it is recommended to use the GitLens extension. It lets
you view your commit history, check who made the changes and much more. To
set it up, you first need to have Git set up on your machine (go here ) and then
install GitLens from the Extensions tab in the sidebar on the left. You can now use
those Git-related features by going to the Git tab in the sidebar ( CTRL+SHIFT+G ).
There are more Git-related extensions you could try as well, like Git

History and GitLab Workflow. Give them a whirl too!
Community-driven & open source alternatives
While VS Code is open source (MIT-licensed), the distributed versions include some
Microsoft-specific proprietary modifications, such as telemetry (app tracking). If
https://www.pythonguis.com/tutorials/getting-started-vs-code-python/
8/12
19/3/66 03:09
Getting started with VS Code for Python: Setting up a development environment
you would like to avoid this, there is also a community-driven distribution of Visual
Studio Code called VSCodium  that provides freely-licensed binaries without
telemetry.
Due to legal restrictions, VSCodium is unable to use the official Visual Studio
Marketplace for extensions. Instead, it uses a separate vendor neutral, open source
marketplace called Open VSX Registry . It doesn't have every extension,
especially proprietary ones, and some are not kept up-to-date but both the Python
and GitLens extensions are available on it.
You can also use the open source Jedi language server for the Python extension,
rather than the bundled Pylance language server/extension, by configuring the
python.languageServer setting. You can then completely disable Pylance by going to
the Extensions tab. Note that, if you are on VSCodium, Jedi is used by default (as
Pylance is not available on Open VSX Registry) when you install the Python
extension.
Conclusion
Having the right tools and making sure they're set up correctly will greatly simplify
your development process. While Visual Studio starts as a simple tool, it is flexible
and extendable with plugins to suit your own preferred workflow. In this tutorial
we've covered the basics of setting up your environment, and you should now be
ready to start developing your own applications with Python!
Mark As Complete 
For a complete guide to building GUI applications with Python, see our PyQt6
tutorial. Using another library? We also have a PyQt5 tutorial, PySide6 tutorial and
PySide2 tutorial.
Never miss an update
https://www.pythonguis.com/tutorials/getting-started-vs-code-python/
9/12
19/3/66 03:09
Getting started with VS Code for Python: Setting up a development environment
Enjoyed this? Subscribe to get new updates straight in your Inbox.
Email
Subscribe 
You can unsubscribe anytime. Just ham, no spam.
Getting started with VS Code for Python was written by Punition Chaetognathan .
Punition is a technology enthusiast with a focus on Linux and digital privacy. Punition
is currently trying to learn Python so he can build paid, open source applications and
libraries with Linux as a first-class citizen.
Interested in contributing to the site? Find out more.
Getting started with VS Code for Python was published in tutorials on September 21, 2022
VSCODE
PYTHON
DEVELOPER
DEVELOPMENT-ENVIRONMENT
IDE
 GETTING-STARTED
Topics
Where do I begin?
Data Science
Packaging & Distribution
Databases & SQL
QML/QtQuick
Learn the fundamentals
Raspberry Pi
Games
Start
Installation
https://www.pythonguis.com/tutorials/getting-started-vs-code-python/
10/12
19/3/66 03:09
Getting started with VS Code for Python: Setting up a development environment
First steps with PyQt5
Example PyQt5 Apps
Widget Library
PyQt / PySide documentation
Reusable code & snippets
Frequently Asked Questions
Tutorials
PyQt5 tutorial
PyQt6 tutorial
PySide2 tutorial
PySide6 tutorial
Tkinter tutorial
Latest articles
 Write with Us
 Your Downloads
 Python GUIS Community
PyQt5 Book / PySide2 Book
PyQt6 Book / PySide6 Book
Python Packaging Book
 Book Source Code
About
Hire me
1-on-1 mentoring
Become an affiliate
Contact me
Licensing, Privacy & Legal
https://www.pythonguis.com/tutorials/getting-started-vs-code-python/
11/12
19/3/66 03:09
Getting started with VS Code for Python: Setting up a development environment
Follow us for new tutorials





Python GUIs Copyright ©2014-2023 Martin Fitzpatrick
Tutorials CC-BY-NC-SA     Sitemap Public code BSD & MIT
https://www.pythonguis.com/tutorials/getting-started-vs-code-python/
12/12
Download