Getting Started with Python
This article applies to Visual Studio 2015. If you're looking for the latest Visual Studio documentation, use the version selector at the top left. We recommend upgrading to Visual Studio 2019. Download it here
The Python Tools for Visual Studio (PTVS), is a free, open-source plug-in for Visual Studio that a powerful Python development experience.
Python the Language
Python is a popular programming language that is used by many universities, scientists, app scripters, casual developers, and professional developers, working on applications, web sites, and cloud services.
As a programming language, Python is:
- Generally useful for scripting quick programs, app scripting, desktop apps, web servers, web services, and scientific computing.
- Easy to learn and has a good design to encourage good coding (many universities use it for introductory programming courses).
- Flexible, supporting imperative, functional, and object-oriented programming styles.
- Free and open source.
- Runs well on all major operating systems.
- Supported by many free, useful, and well-designed libraries.
- Supported by lots of documentation, samples, and a strong developer community.
To learn more about the language, start with Python for Beginners on python.org.
To install Python itself, visit https://www.python.org/download/.
Python Tools for Visual Studio
The Python Tools for Visual Studio, which you can install from visualstudio.com, provide the following features:
- Support for multiple interpreters: various versions of CPython, IronPython, and IPython
- Project templates for console, web, Azure, data science, and other types of projects.
- The Azure SDK for Python (see below)
- Rich editing and code comprehension features including syntax coloring, auto-complete across all your code and libraries, signature help, class view, Go to Definition, Find All References, refactoring, and more.
- An Interactive (REPL) Window
- IPython with data visualizations.
- Support for IronPython and .NET/WPF.
- Rich debugging without a Visual Studio project, the ability to an existing executable, mixed-mode debugging, remote debugging to Windows/Linux/Mac, and debugging within the Interactive Window.
- Profiling tools.
- Testing tools.
The following resources will help you get started:
- Installation guide
- Getting started and deep dive short videos
- Installation and features demo (27 min)](https://www.youtube.com/watch?v=JNNAOypc6Ek)
Note that Visual Studio does not at present provide the means to create a stand-alone executable using Python, which essentially means a program with an embedded Python interpreter. However, there are various means within the Python community to do this as described on StackOverflow. CPython also supports being embedded within a native application, as described on the blog post, Using CPython's Embeddable Zip File.
Building UI with Python
The main offering for building a UI with Python is the Qt Project, with bindings for Python known as PySide (the official binding) (also see PySide downloads)and PyQt. At present, Python support in Visual Studio does not include any specific tools for UI development.
Azure SDK for Python
The Azure SDK for Python, which supports Windows, Mac, and Linux, makes it easy to consume and manage Microsoft Azure Services. Refer to the following resources for details:
- To install the SDK, use the Python Package Index or follow Install Python and the SDK in the Azure documentation.
- Azure SDK for Python Developer Center has lots of help from installation to documentation with tutorials. Some highlights follow:
- How-to Guides:
In addition to all the Python data-scientist libraries, the Python Tools for Visual Studio support IPython and IPython Notebooks, which can be hosted in Azure.
We recommend obtaining IPython and scientific computing libraries (matplotlib, scipy, numpy, etc.) from University of California, Irvine.
Getting Started with PTVS: Setting up Visual Studio Getting Started with PTVS: Start Coding (Projects) Getting Started with PTVS: Editing Code Getting Started with PTVS: Debugging Getting Started with PTVS: Interactive Python Getting Started with PTVS: Building a Website in Azure