Visual Studio での Python の使用Working with Python in Visual Studio

Python は、信頼性と柔軟性に優れ、簡単に学ぶことができ、すべてのオペレーティング システムで自由に使える一般的なプログラミング言語であり、強力な開発者コミュニティと多くの無料ライブラリによってサポートされています。Python is a popular programming language that is reliable, flexible, easy to learn, free to use on all operating systems, and supported by both a strong developer community and many free libraries. Python は、Web アプリケーション、Web サービス、デスクトップ アプリ、スクリプト、科学技術計算などのすべての開発方法をサポートし、多くの大学、科学者、一般の開発者、プロの開発者によって同様に使われています。Python supports all manners of development, including web applications, web services, desktop apps, scripting, and scientific computing and is used by many universities, scientists, casual developers, and professional developers alike. この言語について詳しくは、python.org および「Python for Beginners」(初心者向けの Python) をご覧ください。You can learn more about the language on python.org and Python for Beginners.

Windows の Visual Studio では、Python の開発およびデータ サイエンス ワークロードによる Python 言語のオープンソース サポート (Visual Studio 2017) および無料の Python Tools for Visual Studio 拡張機能 (Visual Studio 2015 以降) が提供されています。Visual Studio on Windows provides open-source support for the Python language through the Python development and Data Science workloads (Visual Studio 2017) and the free Python Tools for Visual Studio extension (Visual Studio 2015 and earlier). 現在、Python は Visual Studio for Mac ではサポートされていませんが、Visual Studio Code によって Mac と Linux でも使うことができます (後の「質問と回答」を参照)。Python is not presently supported in Visual Studio for Mac, but is available on Mac and Linux through Visual Studio Code (see Q&A below.

開始するには:To get started:

特性Feature 説明Description Visual Studio の一般的なドキュメントGeneral Visual Studio Documentation
Visual Studio のプロジェクト システムVisual Studio project system Python コードのフォルダー構造を暗黙的に取得し、アプリ コード、テスト コード、Web ページ、JavaScript、ビルド スクリプトなどの識別を明示的に制御できます。Implicitly picks up a folder structure of Python code while allowing explicit control to identify app code, test code, web pages, JavaScript, build scripts, etc. Visual Studio のソリューションおよびプロジェクトSolutions and Projects in Visual Studio
プロジェクト テンプレートProject templates コンソール、Web、Azure、データ サイエンス、他の種類のプロジェクト用のプロジェクト構造を短時間で作成します。Quickly creates project structure for console, web, Azure, data science, and other types of projects Visual Studio テンプレートVisual Studio Templates
複数のインタープリターのサポートMultiple interpreter support さまざまなバージョンの CPython と IronPython をサポートします。Supports various versions of CPython and IronPython. 適用なしn/a
IPython のサポートIPython support インライン プロット、.NET、および Windows Presentation Foundation (WPF) のための REPL での IPython/Jupyter のサポートが含まれます。Includes support for IPython/Jupyter in the REPL for inline plots, .NET, and Windows Presentation Foundation (WPF). 適用なしn/a
豊富な編集、IntelliSense、コード読解Rich editing, IntelliSense, and code comprehension 構文の色分け、すべてのコードとライブラリ間でのオートコンプリート、コードのフォーマット、シグネチャ ヘルプ、クラス ビュー、定義への移動、すべての参照の検索、コード スニペット、リファクタリングPyLint などを含みます。Includes syntax coloring, auto-complete across all your code and libraries, code formatting, signature help, class view, Go to Definition, Find All References, code snippets, refactoring, PyLint, and more. コード エディターとテキスト エディターでのコードの作成Writing Code in the Code and Text Editor
対話型ウィンドウInteractive Window コードの一部を簡単に強調表示してそれを対話型ウィンドウに送信する機能を備えた、Python 用のクイック REPL エクスペリエンスを提供します。Provides a quick REPL experience for Python with the ability to easily highlight a portion of your code and send it to the Interactive Window. 適用なしn/a
フル機能のデバッグFull-featured debugging Visual Studio プロジェクトを使っても使わなくてもデバッグを行うことができ、既存の実行可能ファイルをデバッグする機能、Python/C++ 混合モードのデバッグ、Windows/Linux/Mac へのリモート デバッグAzure へのリモート デバッグ、および対話型ウィンドウ内でのデバッグを含みます。Debugging can be done with or without a Visual Studio project, including the ability to debug an existing executable, Python/C++ mixed-mode debugging, remote debugging to Windows/Linux/Mac, remote debugging to Azure, and debugging within the Interactive Window. Visual Studio でのデバッグDebugging in Visual Studio
包括的なレポートを備えたプロファイリング ツールProfiling tools with comprehensive reporting アプリケーション内で時間がどのように費やされているかを調べます。異なるプロファイリング実行の間でパフォーマンスを比較する機能を含みます。Explores how time is being spent within your application, including the ability to compare performance between different profiling runs. プロファイリング ツール(Visual Studio のプロファイリング機能の一部は、Python では使用できません)Profiling Tools (not all Visual Studio profiling features are available for Python)
単体テスト ツールUnit testing tools Visual Studio テスト エクスプローラーでテストを検出、実行、および管理し、単体テストを簡単にデバッグします。Discover, run, and manage tests in Visual Studio Test Explorer, and easily debug unit tests. コードの単体テストUnit Test Your Code

Python ワークロードに含まれる Azure SDK for Python を使うと、Windows、Mac OS X、Linux アプリから Azure サービスを簡単に利用できます。The Python workload also includes the Azure SDK for Python, which simplifies consuming Azure services from Windows, Mac OS X, and Linux apps.

概要のビデオについては、Microsoft Virtual Academy で短い「Python Tools for Visual Studio」 (Visual Studio の Python ツール) コース (合計で約 22 分) をご覧ください。For a video introduction, see the short Python Tools for Visual Studio course on Microsoft Virtual Academy (about 22 minutes total).

質問と回答Questions and answers

Q.Visual Studio for Mac では Python のサポートを利用できますか?Q. Is Python support available with Visual Studio for Mac?

A: A. 現時点では利用できませんが、UserVoice には要望が寄せられています。Not at this time, though it is requested on UserVoice. Visual Studio for Mac のドキュメントでは、現在サポートされている開発の種類が示されています。The Visual Studio for Mac documentation identifies the current types of development that it does support. 当面の間、Windows、Mac、Linux での Visual Studio Code は、利用可能な拡張機能によって Python で問題なく動作しますIn the meantime, Visual Studio Code on Windows, Mac, and Linux works well with Python through available extensions.

Q.Python で UI を構築するには何を使用できますか?Q. What can I use to build UI with Python?

A: A. この分野の主なツールとして Qt Project があり、PySide (公式バインディング) (PySide のダウンロード ページもご覧ください) や PyQt という Python のバインディングもあります。The main offering in this area is the Qt Project, with bindings for Python known as PySide (the official binding) (also see PySide downloads) and PyQt. 現在のところ、Visual Studio の Python のサポートには、UI 開発用のツールは含まれていません。At present, Python support in Visual Studio does not include any specific tools for UI development.

Q.Python プロジェクトでスタンドアロンの実行可能ファイルを作成できますか?Q. Can a Python project produce a stand-alone executable?

A: A. 一般的に、Python はインタープリター言語であり、Visual Studio や Web サーバーなど、適切な Python 対応環境で、オンデマンドでコードが実行されます。Python is generally an interpreted language, with which code is run on demand in a suitable Python-capable environment such as Visual Studio and web servers. 現在のところ、Python のスタンドアロンの実行可能ファイル (実質的には Python インタープリターが埋め込まれたプログラム) を作成する機能は Visual Studio にありません。Visual Studio itself does not at present provide the means to create a stand-alone executable, which essentially means a program with an embedded Python interpreter. ただし、StackOverflowで説明されているように、Python コミュニティでは、実行可能ファイルを作成するさまざまな方法が紹介されています。However, there are various means within the Python community to create executables as described on StackOverflow. また、CPython はネイティブ アプリケーション内への埋め込みをサポートしています。詳細については、ブログの投稿「Using CPython's Embeddable Zip File」(CPython の埋め込み可能な Zip ファイルの使用方法) を参照してください。CPython also supports being embedded within a native application, as described on the blog post, Using CPython's Embeddable Zip File.

機能一覧Features Matrix

インストール ガイドの説明に従って、以下のエディションの Visual Studio に Python のサポートをインストールできます。Python support can be installed in the following editions of Visual Studio as described in the installation guide:

  • Visual Studio 2017 (全エディション)Visual Studio 2017 (all editions)
  • Visual Studio 2015 (全エディション)Visual Studio 2015 (all editions)
  • Visual Studio 2013 Community EditionVisual Studio 2013 Community Edition
  • Visual Studio 2013 Express for Web Update 2 以降Visual Studio 2013 Express for Web, Update 2 or higher
  • Visual Studio 2013 Express for Desktop Update 2 以降Visual Studio 2013 Express for Desktop, Update 2 or higher
  • Visual Studio 2013 (Pro エディション以上)Visual Studio 2013 (Pro edition or higher)
  • Visual Studio 2012 (Pro エディション以上)Visual Studio 2012 (Pro edition or higher)
  • Visual Studio 2010 SP1 (Pro エディション以上、.NET 4.5 が必要)Visual Studio 2010 SP1 (Pro edition or higher; .NET 4.5 required)

Visual Studio のバージョンおよびエディション別のサポートされる機能:Supported features by Visual Studio version and edition:

Python のサポートPython Support 20172017 20152015 2013 Comm2013 Comm 2013 Desktop2013 Desktop 2013 Web2013 Web 2013 Pro+2013 Pro+ 2012 Pro+2012 Pro+ 2010 SP1 Pro+2010 SP1 Pro+
複数のインタープリターの管理Multiple interpreters management
一般的なインタープリターの自動検出Auto-detect popular interpreters
カスタム インタープリターの追加Add custom interpreters
仮想環境Virtual Environments
Pip/簡易インストールPip/Easy Install


プロジェクト システムProject System 20172017 20152015 2013 Comm2013 Comm 2013 Desktop2013 Desktop 2013 Web2013 Web 2013 Pro+2013 Pro+ 2012 Pro+2012 Pro+ 2010 SP1 Pro+2010 SP1 Pro+
既存のコードから新しいプロジェクトを作成New project from existing code
すべてのファイルを表示Show all files
ソース管理Source control
Git 統合Git integration 11


編集Editing 20172017 20152015 2013 Comm2013 Comm 2013 Desktop2013 Desktop 2013 Web2013 Web 2013 Pro+2013 Pro+ 2012 Pro+2012 Pro+ 2010 SP1 Pro+2010 SP1 Pro+
構文の強調表示Syntax highlighting
オートコンプリートAuto-complete
シグネチャ ヘルプSignature help
クイック ヒントQuick info
オブジェクト ブラウザー/クラス ビューObject browser/class view
[ナビゲーション バー]Navigation bar
定義へ移動Go to Definition
移動Navigate to
[すべての参照の検索]Find All References
自動インデントAuto indentation
コードのフォーマットCode formatting
リファクタリング - 名前の変更Refactor - rename
リファクタリング - メソッドの抽出Refactor - extract method
リファクタリング - インポートの追加と削除Refactor - add/remove import
PyLintPyLint


対話型ウィンドウInteractive Window 20172017 20152015 2013 Comm2013 Comm 2013 Desktop2013 Desktop 2013 Web2013 Web 2013 Pro+2013 Pro+ 2012 Pro+2012 Pro+ 2010 SP1 Pro+2010 SP1 Pro+
対話型ウィンドウInteractive Window
インライン グラフを含む IPythonIPython with inline graphs


デスクトップDesktop 20172017 20152015 2013 Comm2013 Comm 2013 Desktop2013 Desktop 2013 Web2013 Web 2013 Pro+2013 Pro+ 2012 Pro+2012 Pro+ 2010 SP1 Pro+2010 SP1 Pro+
コンソール/Windows アプリケーションConsole/Windows application
IronPython WPF (XAML デザイナーを含む)IronPython WPF (with XAML designer)
IronPython Windows フォームIronPython Windows Forms


WebWeb 20172017 20152015 2013 Comm2013 Comm 2013 Desktop2013 Desktop 2013 Web2013 Web 2013 Pro+2013 Pro+ 2012 Pro+2012 Pro+ 2010 SP1 Pro+2010 SP1 Pro+
Django Web プロジェクトDjango web project
Bottle Web プロジェクトBottle web project
Flask Web プロジェクトFlask web project
汎用 Web プロジェクトGeneric web project


AzureAzure 20172017 20152015 2013 Comm2013 Comm 2013 Desktop2013 Desktop 2013 Web2013 Web 2013 Pro+2013 Pro+ 2012 Pro+2012 Pro+ 2010 SP1 Pro+2010 SP1 Pro+
Web サイトへの配置Deploy to web site 22
Web ロールへの配置Deploy to web role 44 44 33
worker ロールへの配置Deploy to worker role ?? ?? ?? 44 44 33
Azure エミュレーターでの実行Run in Azure emulator ?? ?? ?? 44 44 33
リモート デバッグRemote debugging 66 88 88
サーバー エクスプローラーのアタッチServer Explorer attach 77 77


Django テンプレートDjango templates 20172017 20152015 2013 Comm2013 Comm 2013 Desktop2013 Desktop 2013 Web2013 Web 2013 Pro+2013 Pro+ 2012 Pro+2012 Pro+ 2010 SP1 Pro+2010 SP1 Pro+
デバッグDebugging
オートコンプリートAuto-complete 55 55
CSS と JavaScript のオートコンプリートAuto-complete for CSS and JavaScript 55 55


デバッグDebugging 20172017 20152015 2013 Comm2013 Comm 2013 Desktop2013 Desktop 2013 Web2013 Web 2013 Pro+2013 Pro+ 2012 Pro+2012 Pro+ 2010 SP1 Pro+2010 SP1 Pro+
デバッグDebugging
プロジェクトを使わないデバッグDebugging without a project
デバッグ - 編集へのアタッチDebugging - attach to editing
混合モードのデバッグMixed-mode debugging
リモート デバッグ (Windows、Mac OS X、Linux)Remote debugging (Windows, Mac OS X, Linux)
対話型ウィンドウのデバッグDebug interactive window


プロファイルProfiling 20172017 20152015 2013 Comm2013 Comm 2013 Desktop2013 Desktop 2013 Web2013 Web 2013 Pro+2013 Pro+ 2012 Pro+2012 Pro+ 2010 SP1 Pro+2010 SP1 Pro+
プロファイルProfiling


テストTest 20172017 20152015 2013 Comm2013 Comm 2013 Desktop2013 Desktop 2013 Web2013 Web 2013 Pro+2013 Pro+ 2012 Pro+2012 Pro+ 2010 SP1 Pro+2010 SP1 Pro+
テスト エクスプローラーTest explorer
テストの実行Run test
テストのデバッグDebug test


  1. VS 2012 の Git サポートは、Visual Studio ギャラリーで入手できる Visual Studio Tools for Git 拡張機能で利用可能です。Git support for VS 2012 is available in the Visual Studio Tools for Git extension, available on the Visual Studio Gallery.

  2. Azure Web サイトに配置するには、Azure SDK for .NET 2.1 - VS 2010 SP1 が必要です。Deployment to Azure Web Site requires Azure SDK for .NET 2.1 - VS 2010 SP1. 以降のバージョンは VS 2010 をサポートしません。Later versions don't support VS 2010.

  3. Azure Web ロールおよびワーカー ロールのサポートには、Azure SDK for .NET 2.3 - VS 2012 以降が必要です。Support for Azure Web Role and Worker Role requires Azure SDK for .NET 2.3 - VS 2012 or later.

  4. Azure Web ロールおよびワーカー ロールのサポートには、Azure SDK for .NET 2.3 - VS 2013 以降が必要です。Support for Azure Web Role and Worker Role requires Azure SDK for .NET 2.3 - VS 2013 or later.

  5. Visual Studio 2013 の Django テンプレート エディターには、Update 2 をインストールすることで解決される既知の問題がいくつかあります。Django template editor in Visual Studio 2013 has some known issues that are resolved by installing Update 2.

  6. Windows 8 以降が必要です。Requires Windows 8 or later. Visual Studio 2013 Express for Web には [プロセスにアタッチ] ダイアログがありませんが、Azure Web サイトのリモート デバッグはサーバー エクスプローラーの デバッガーのアタッチ コマンドを使って可能です。Visual Studio 2013 Express for Web doesn't have the Attach to Process dialog, but Azure Web Site remote debugging is still possible using the Attach Debugger (Python) command in Server Explorer. リモート デバッグには、Azure SDK for .NET 2.3 - VS 2013 以降が必要です。Remote debugging requires Azure SDK for .NET 2.3 - VS 2013 or later.

  7. Windows 8 以降が必要です。Requires Windows 8 or later. サーバー エクスプローラーの デバッガーのアタッチ コマンドには、Azure SDK for .NET 2.3 - VS 2013 以降が必要です。Attach Debugger (Python) command in Server Explorer requires Azure SDK for .NET 2.3 - VS 2013 or later.

  8. Windows 8 以降が必要です。Requires Windows 8 or later.

その他の技術情報Additional resources