Step 1: Create a new Python project
A project is how Visual Studio manages all the files that come together to produce a single application. Application files include source code, resources, and configurations. A project formalizes and maintains the relationships among all the project’s files. The project also manages external resources that are shared between multiple projects. A project allows your application to effortlessly expand and grow. Using projects is easier than managing relationships by hand in unplanned folders, scripts, text files, and your memory.
This tutorial begins with a simple project containing a single, empty code file.
-
In Visual Studio, select File > New > Project to open the New Project dialog. You can also use the keyboard shortcut Ctrl+Shift+N. In the dialog, you can browse templates across different languages, select a template for your project, and specify where Visual Studio places files.
-
To view Python templates, select Installed > Python on the left menu, or search for “Python.” The search option is a great way to find a template when you can’t remember its location in the languages tree.
Python support in Visual Studio includes several project templates, including web applications using the Bottle, Flask, and Django frameworks. For the purposes of this walkthrough, however, let’s start with an empty project.
-
Select the Python Application template, specify a name for the project, and select OK.
-
In Visual Studio, select File > New > Project or use the keyboard shortcut Ctrl+Shift+N. The Create a new project screen opens, where you can search and browse templates across different languages.
-
To view Python templates, search for python. Search is a great way to find a template when you can’t remember its location in the languages tree.
Python web support in Visual Studio includes several project templates, such as web applications in the Bottle, Flask, and Django frameworks. When you install Python with the Visual Studio Installer, select Python Web Support under Optional to install these templates. For this tutorial, start with an empty project.
-
Select the Python Application template, and select Next.
-
On the Configure your new project screen, specify a name and file location for the project, and then select Create.
After a few moments, your new project opens in Visual Studio:
Here’s what you see:
- (1) The Visual Studio Solution Explorer window shows the project structure.
- (2) The default code file opens in the editor.
- (3) The Properties window shows more information for the item selected in Solution Explorer, including its exact location on disk.
Configure Python in Visual Studio 2019
We need to enable the Python while installing the Visual Studio 2019. If you already installed Visual Studio, then we can enable it using the Visual Studio installer. Steps are the same to enable Python for those who are installing new or updating the Visual Studio which we have installed already. Open the installer and select the “Python development” as shown below.
Other popular Python extensions
The Microsoft Python extension provides all of the features described previously in this article. Additional Python language support can be added to VS Code by installing other popular Python extensions.
- Open the Extensions view (⇧⌘X (Windows, Linux Ctrl+Shift+X)).
- Filter the extension list by typing ‘python’.
The extensions shown above are dynamically queried. Click on an extension tile above to read the description and reviews to decide which extension is best for you. See more in the Marketplace.
Testing
The Python extension supports testing with Python’s built-in unittest framework and pytest.
In order to run tests, you must enable one of the supported testing frameworks in the settings of your project. Each framework has its own specific settings, such as arguments for identifying the paths and patterns for test discovery.
Once the tests have been discovered, VS Code provides a variety of commands (on the Status Bar, the Command Palette, and elsewhere) to run and debug tests. These commands also allow you to run individual test files and methods
Set a working directory
By default, Visual Studio runs a Python project opened as a folder in the root of that same folder. The code in your project, however, might assume that Python is being run in a subfolder. For example, now suppose you open the root folder of the pythonkoans repository and there is a subfolder called python3 where _contemplate-koans.py exists. You set the python3/contemplate-koans.py file as startup item. If you then run the code, you would see an error that the koans.txt file can’t be found. This error happens because contemplate-koans.py assumes that Python is being run in the python3 folder rather than the repository root.
In such cases, you must also add a line to the launch configuration JSON file to specify the working directory:
-
Right-click the Python (.py) startup file in Solution Explorer and select Debug and Launch Settings.
-
In the Select debugger dialog box that appears, select Default and then choose Select.
Note
If you don’t see Default as a choice, be sure that you chose a Python .py file when selecting the Debug and Launch Settings command. Visual Studio uses the file type to determine which debugger options to display.
-
Visual Studio opens a file named launch.vs.json, which is located in the hidden
.vs
folder. This file describes the debugging context for the project. To specify a working directory, add a value for
"workingDirectory"
, as in
"workingDirectory": "python3"
for python-koans example:
{ "version": "0.2.1", "defaults": {}, "configurations": [ { "type": "python", "interpreter": "(default)", "interpreterArguments": "", "scriptArguments": "", "env": {}, "nativeDebug": false, "webBrowserUrl": "", "project": "contemplate_koans.py", "projectTarget": "", "name": "contemplate_koans.py", "workingDirectory": "python3" } ] }
-
Save the file and launch the program again, which now runs in the specified folder.
By default, Visual Studio runs a Python project opened as a folder in the root of that same folder. The code in your project, however, might assume that Python is being run in a subfolder. For example, now suppose you open the root folder of the pythonkoans repository and there is a subfolder called python3 where _contemplate-koans.py exists. You set the python3/contemplate-koans.py file as startup item. If you then run the code, you would see an error that the koans.txt file can’t be found. This error happens because contemplate-koans.py assumes that Python is being run in the python3 folder rather than the repository root.
In such cases, you must also add a line to the launch configuration JSON file to specify the working directory:
-
Right-click the Python (.py) startup file in Solution Explorer and select Add Debug Configuration.
-
In the Select debugger dialog box that appears, select Default and then choose Select.
Note
If you don’t see Default as a choice, be sure that you chose a Python .py file when selecting the Add Debug Configuration command. Visual Studio uses the file type to determine which debugger options to display.
-
Visual Studio opens a file named launch.vs.json, which is located in the hidden
.vs
folder. This file describes the debugging context for the project. To specify a working directory, add a value for
"workingDirectory"
, as in
"workingDirectory": "python3"
for python-koans example:
{ "version": "0.2.1", "defaults": {}, "configurations": [ { "type": "python", "interpreter": "(default)", "interpreterArguments": "", "scriptArguments": "", "env": {}, "nativeDebug": false, "webBrowserUrl": "", "project": "contemplate_koans.py", "projectTarget": "", "name": "contemplate_koans.py", "workingDirectory": "python3" } ] }
-
Save the file and launch the program again, which now runs in the specified folder.
Install packages using the Python Environments window
-
From the Python Environments window, select the default environment for new Python projects and choose the Packages tab. You’ll then see a list of packages that are currently installed in the environment.
-
Install
matplotlib
by entering its name into the search field and then selecting the Run command: pip install matplotlib option. Running the command will install
matplotlib
, and any packages it depends on (in this case that includes
numpy
). -
Choose the Packages tab.
-
Consent to elevation if prompted to do so.
-
After the package is installed, it appears in the Python Environments window. The X to the right of the package uninstalls it.
-
Consent to elevation if prompted to do so.
-
After the package installs, it appears in the Python Environments window. The X to the right of the package uninstalls it.
Note
A small progress bar might appear underneath the environment to indicate that Visual Studio is building its IntelliSense database for the newly-installed package. The IntelliSense tab also shows more detailed information. Be aware that until that database is complete, IntelliSense features like auto-completion and syntax checking won’t be active in the editor for that package.
Visual Studio 2017 version 15.6 and later uses a different and faster method for working with IntelliSense, and displays a message to that effect on the IntelliSense tab.
Run Python code
To experience Python, create a file (using the File Explorer) named
hello.py
and paste in the following code:
print("Hello World")
The Python extension then provides shortcuts to run Python code using the currently selected interpreter (Python: Select Interpreter in the Command Palette). To run the active Python file, click the Run Python File in Terminal play button in the top-right side of the editor.
You can also run individual lines or a selection of code with the Python: Run Selection/Line in Python Terminal command (Shift+Enter). If there isn’t a selection, the line with your cursor will be run in the Python Terminal. An identical Run Selection/Line in Python Terminal command is available on the context menu for a selection in the editor. The same terminal will be used every time you run a selection or a line in the terminal/REPL, until that terminal is closed. The same terminal is also used for Run Python File in Terminal. If that terminal is still running the REPL, you should exit the REPL (
exit()
) or switch to a different terminal before running a Python file.
The Python extension automatically removes indents based on the first non-empty line of the selection, shifting all other lines left as needed.
The command opens the Python Terminal if necessary; you can also open the interactive REPL environment directly using the Python: Start REPL command that activates a terminal with the currently selected interpreter and then runs the Python REPL.
For a more specific walkthrough and other ways of running code, see the run code tutorial.
Next steps
- Python Hello World tutorial – Get started with Python in VS Code.
- Editing Python – Learn about auto-completion, formatting, and refactoring for Python.
- Basic Editing – Learn about the powerful VS Code editor.
- Code Navigation – Move quickly through your source code.
- Django tutorial
- Flask tutorial
Feedback
Submit and view feedback for
Quickstart: Open and run Python code in a folder
Once you’ve installed Python support in Visual Studio 2019, it’s easy to run existing Python code in Visual Studio 2019 without creating a Visual Studio project.
Once you’ve installed Python support in Visual Studio 2022, it’s easy to run existing Python code in Visual Studio 2022 without creating a Visual Studio project.
Note
Visual Studio 2017 and earlier require you to create a Visual Studio project to run Python code, which you can easily do using a built-in project template. See Quickstart: Create a Python project from existing code.
-
For this walkthrough, you can use any folder with Python code that you like. To follow along with the example shown here, clone the gregmalcolm/python_koans GitHub repository to your computer using the command
git clone https://github.com/gregmalcolm/python_koans
in an appropriate folder. -
Launch Visual Studio 2019 and in the start window, select Open at the bottom of the Get started column. Alternately, if you already have Visual Studio running, select the File > Open > Folder command instead.
-
Navigate to the folder containing your Python code, then choose Select Folder. If you’re using the python_koans code, make sure to select the
python3
folder within the clone folder. -
Visual Studio displays the folder in Solution Explorer in what’s called Folder View. You can expand and collapse folders using the arrows on the left edges of the folder names:
-
When opening a Python folder, Visual Studio creates several hidden folders to manage settings related to the project. To see these folders (and any other hidden files and folders, such as the
.git
folder), select the Show All Files toolbar button: -
To run the code, you first need to identify the startup or primary program file. In the example shown here, select the startup file contemplate-koans.py, right-click that file and select Set as Startup Item.
Important
If your startup item is not located in the root of the folder you opened, you must also add a line to the launch configuration JSON file as described in the section, Set a working directory.
-
Run the code by pressing Ctrl+F5 or selecting Debug > Start without Debugging. You can also select the toolbar button that shows the startup item with a play button, which runs code in the Visual Studio debugger. In all cases, Visual Studio detects that your startup item is a Python file, so it automatically runs the code in the default Python environment. (That environment is shown to the right of the startup item on the toolbar.)
-
The program’s output appears in a separate command window:
-
To run the code in a different environment, select that environment from the drop-down control on the toolbar, then launch the startup item again.
-
To close the folder in Visual Studio, select the File > Close folder menu command.
-
For this walkthrough, you can use any folder with Python code that you like. To follow along with the example shown here, clone the gregmalcolm/python_koans GitHub repository to your computer using the command
git clone https://github.com/gregmalcolm/python_koans
in an appropriate folder. -
Launch Visual Studio 2022 and in the start window, select Open at the bottom of the Get started column. Alternately, if you already have Visual Studio running, select the File > Open > Folder command instead.
-
Navigate to the folder containing your Python code, then choose Select Folder.
-
Visual Studio displays the folder in Solution Explorer in what’s called Folder View. You can expand and collapse folders using the arrows on the left edges of the folder names:
-
When opening a Python folder, Visual Studio creates several hidden folders to manage settings related to the project. To see these folders (and any other hidden files and folders, such as the
.git
folder), select the Show All Files toolbar button: -
To run the code, you first need to identify the startup or primary program file. In the example shown here, the startup file contemplate-koans.py. Right-click that file and select Set as Startup Item.
Important
If your startup item is not located in the root of the folder you opened, you must also add a line to the launch configuration JSON file as described in the section, Set a working directory.
-
Run the code by pressing Ctrl+F5 or selecting Debug > Start without Debugging. You can also select the toolbar button that shows the startup item with a play button, which runs code in the Visual Studio debugger. In all cases, Visual Studio detects that your startup item is a Python file, so it automatically runs the code in the default Python environment. (That environment is shown to the right of the startup item on the toolbar.)
-
The program’s output appears in a separate command window:
-
To run the code in a different environment, select that environment from the drop-down control on the toolbar, then launch the startup item again.
-
To close the folder in Visual Studio, select the File > Close folder menu command.
Python profile template
Profiles let you quickly switch your extensions, settings, and UI layout depending on your current project or task. To help you get started with Python development, you can use the Python profile template, which is a curated profile with useful extensions, settings, and snippets. You can use the profile template as is or use it as a starting point to customize further for you own workflows.
You select a profile template through the Profiles > Create Profile… dropdown:
Once you select a profile template, you can review the settings and extensions, and remove individual items if you don’t want to include them in your new Profile. After creating the new profile based on the template, changes made to settings, extensions, or UI are persisted in your profile.
Feedback
Submit and view feedback for
Python in Visual Studio Code
Working with Python in Visual Studio Code, using the Microsoft Python extension, is simple, fun, and productive. The extension makes VS Code an excellent Python editor, and works on any operating system with a variety of Python interpreters. It leverages all of VS Code’s power to provide auto complete and IntelliSense, linting, debugging, and unit testing, along with the ability to easily switch between Python environments, including virtual and conda environments.
This article provides only an overview of the different capabilities of the Python extension for VS Code. For a walkthrough of editing, running, and debugging code, use the button below.
Creating a Python Project
We can develop web applications using Python with above one of the frameworks. Open Visual Studio 2019 and select “Create new project”.
Select the language dropdown as “Python”. We can see all the project templates of the project for Python.
We can see the template with a different framework. We can choose and develop any one of the templates a can develop the application based on our requirement.
Autocomplete and IntelliSense
The Python extension supports code completion and IntelliSense using the currently selected interpreter. IntelliSense is a general term for a number of features, including intelligent code completion (in-context method and variable suggestions) across all your files and for built-in and third-party modules.
IntelliSense quickly shows methods, class members, and documentation as you type. You can also trigger completions at any time with ⌃Space (Windows, Linux Ctrl+Space). Hovering over identifiers will show more information about them.
Open source
Fork us on Github
Python Tools for Visual Studio is a completely free extension, developed and supported by Microsoft with contributions from the community. Visit our Github page to see or participate in PTVS development.
Install Python support in Visual Studio
Python support is available only on Visual Studio for Windows. On Mac and Linux, Python support is available through Visual Studio Code.
Version Control integration
Collaborate on code with Git
Use Git as the default source control experience in Visual Studio right out of the box. From the new Git menu, you can create or clone repositories from GitHub or Azure DevOps. Use the integrated Git tool windows to commit and push changes to your code, manage branches, sync with your remote repositories, and resolve merge conflicts.
Python Frameworks
There are following famous frameworks are available. If we are learning following Python frameworks we have good opportunities.
Django
A Python-based free and open-source web framework. It is the model –template –view(MTV) architectural pattern. It is the main primary goal is to ease the creation of complex website.
Pyramid
Python web application framework. It is designed to make creating web applications easier. It is an open-source. It is designed to easy to use.
TurboGears
This is a Python web application framework. It is designed around the model, view and controller architecture. It is designed to make rapid web application development in Python easier and more maintainable.
Web2py
The open-source web application framework is written in the Python programming language. web2py focuses on rapid development, favors convention over configuration approach and follows a model–view–controller (MVC) architectural pattern.
Flask
Flask is a micro web framework written in Python. It is classified as a microframework because it does not require particular tools or libraries
CherryPy
CherryPy is an object-oriented web application framework using the Python programming language. It is designed for rapid development of web applications
Falcon
A light-weight micro-framework written in Python for building web APIs and app backbends. It is like Falcon. It has a clean design that embraces HTTP and the REST architectural style.
Feedback
Submit and view feedback for
Tutorial: Work with Python in Visual Studio
In this tutorial, you learn how to work with Python in Visual Studio. Python is a popular programming language that’s reliable, flexible, easy to learn, and free to use on all operating systems. Python is supported by a strong developer community and many free libraries. The language supports all kinds of development, including web applications, web services, desktop apps, scripting, and scientific computing. Many universities, scientists, casual developers, and professional developers use Python. Visual Studio provides first-class language support for Python.
This tutorial guides you through a six-step process:
- Step 1: Create a Python project (this article)
- Step 2: Write and run code to see Visual Studio IntelliSense at work
- Step 3: Create more code in the Interactive REPL window
- Step 4: Run the completed program in the Visual Studio debugger
- Step 5: Install packages and manage Python environments
- Step 6: Work with Git
This article covers the tasks in Step 1. You create a new project and review the UI elements visible in Solution Explorer.
Test your install
Quickly check your installation of Python support:
-
Launch Visual Studio.
-
Select Alt + I to open the Python Interactive window.
-
In the window, enter the statement
2+2
.The statement output
displays in the window. If you don’t see the correct output, recheck your steps.
Download and install the Python workload
Complete the following steps to download and install the Python workload.
-
Download and run the latest Visual Studio Installer for Windows. Python support is present in release 15.2 and later. If you have Visual Studio installed already, open Visual Studio and run the installer by selecting Tools > Get Tools and Features.
Tip
The Community edition is for individual developers, classroom learning, academic research, and open source development. For other uses, install Visual Studio Professional or Visual Studio Enterprise.
-
The installer provides a list of workloads that are groups of related options for specific development areas. For Python, select the Python development workload and select Install:
Python installation options Description Python distributions Choose any combination of Python distribution that you plan to work with. Common options include 32-bit and 64-bit variants of Python 2, Python 3, Miniconda, Anaconda 2, and Anaconda 3. Each option includes the distribution’s interpreter, runtime, and libraries. Anaconda, specifically, is an open data science platform that includes a wide range of preinstalled packages. Visual Studio automatically detects existing Python installations. For more information, see The Python Environments window. Also, if a newer version of Python is available than the version shown in the installer, you can install the new version separately and Visual Studio detects it. Cookiecutter template support Install the Cookiecutter graphical UI to discover templates, input template options, and create projects and files. For more information, see Use the Cookiecutter extension. Python web support Install tools for web development including HTML, CSS, and JavaScript editing support, along with templates for projects using the Bottle, Flask, and Django frameworks. For more information, see Python web project templates. Python native development tools Install the C++ compiler and other necessary components to develop native extensions for Python. For more information, see Create a C++ extension for Python. Also install the Desktop development with C++ workload for full C++ support. By default, the Python workload installs for all users on a computer under:
%ProgramFiles%\Microsoft Visual Studio\
\
Common7\IDE\Extensions\Microsoft\Python
where
is 2022 and
is Community, Professional, or Enterprise.
%ProgramFiles(x86)%\Microsoft Visual Studio\
\
Common7\IDE\Extensions\Microsoft\Python
where
is 2019 or 2017 and
is Community, Professional, or Enterprise.
Support for multiple interpreters
Visual Studio’s Python Environments window gives you a single place to manage all of your global Python environments, conda environments, and virtual environments. Visual Studio automatically detects installations of Python in standard locations, and allows you to configure custom installations. With each environment, you can easily manage packages, open an interactive window for that environment, and access environment folders.
Use the Open interactive window command to run Python interactively within the context of Visual Studio. Use the Open in PowerShell command to open a separate command window in the folder of the selected environment. In that command window, you can run any python script.
For more information:
Installation details of Python
We can see the installation details of the Python on the right-hand side in the installer after selecting the Python development. We can find how much MB of memory have been taken for installing Python.
Click the modify to enable Python in Visual Studio 2019. If you are installing new, we can find the installation button in the bottom instead of the Modify button. Once clicked, the Modify installation will be started.
Features in Visual Studio for Python
- Editing is very easy and user-friendly. We can easily edit the Python code with the help of Tooltip, completion and code snippets.
- We can install the libraries without trouble. Using search options, find the libraries and install whatever we need for our Python applications.
- Debugging is very helpful to find the complex issues. Python in visual studio support debugging without project.
- We can use effective source controller Git and TFS. We can use Git and TFS without a command line.
- Unit testing is validating your changes in the editor. We can verify the code is working correctly without leaving the visual studio. We can view, edit, and debug the unit test from the test window.
- Python tool for Visual Studio is a free extension, develop and support by Microsoft with contribution from the community.
Python Project Template
Open Visual Studio, click the new project and type the Python in the search bar in Visual Studio 2019. We can see all Python-related templates, as shown below.
We have more than five templates available. In the Python application; it is used to create the command line project. Python Web Project, it is used to creating a generic Python web project. Django Web Project, it is one of the frameworks. A project for creating an application using the Django web framework. We have Django, Flask, and Bottle web framework for Python. It features sample pages that use the Twitter Bootstrap framework for responsive web design.
Project system, and project and item templates
Visual Studio helps you manage the complexity of a project as it grows over time. A Visual Studio project is more than a folder structure. A project aids in the understanding of how different files are used and how they relate to each other. Visual Studio helps you distinguish app code, test code, web pages, JavaScript, build scripts, and so on, which then enable file-appropriate features. A Visual Studio solution helps you manage multiple related projects, such as a Python project and a C++ extension project.
Note
In Visual Studio 2019 and later, you can open a folder containing Python code and run that code without creating a Visual Studio project or solution file. For more information, see Quickstart: Open and run Python code in a folder. Keep in mind that there are benefits to using a project file, as explained in this section.
The following image shows an example of a Visual Studio solution containing both Python and Flask projects in Solution Explorer.
Project and item templates automate the process of setting up different types of projects and files. The templates save you valuable time and relieve you from managing intricate and error-prone details. Visual Studio provides templates for web, Azure, data science, console, and other types of projects. You can find templates for files like Python classes, unit tests, Azure web configuration, HTML, and even Django apps.
For more information:
- Manage Python projects
- Item templates reference
- Python project templates
- Work with C++ and Python
- Create project and item templates
- Solutions and projects in Visual Studio
Conclusion
I hope this article helps with ideas on how to set up and choose the template to develop an application using Python in Visual Studio 2019. The next part of this article explains how to develop the first Python with a simple program. This is really helpful for new learners.