Getting Started with Python

Note

This article applies to Visual Studio 2015. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. 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:

  • Reliable.
  • 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
  • A project system that implicitly picks up a folder structure of Python code, and also allows explicit control so you can identify app code, test code, web pages, JavaScript, build scripts, and so on.
  • 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:

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:

Scientific Computing

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.

See Also

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