Windows 上の Visual Studio での Python の使用Work with Python in Visual Studio on Windows

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.

Visual Studio は、Windows 上の強力な Python IDE です。Visual Studio is a powerful Python IDE on Windows. Visual Studio では、Python の開発およびデータ サイエンス ワークロードによる Python 言語のオープンソース サポート (Visual Studio 2017 以降) および無料の Python Tools for Visual Studio 拡張機能 (Visual Studio 2015 以前) が提供されています。Visual Studio provides open-source support for the Python language through the Python Development and Data Science workloads (Visual Studio 2017 and later) 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 questions and answers).

開始するには:To get started:

  • インストール手順に従って、Python ワークロードを設定します。Follow the installation instructions to set up the Python workload.
  • この記事の各セクションを読んで、Visual Studio の Python 機能に関する知識を深めてください。Familiarize yourself with the Python capabilities of Visual Studio through the sections in this article.

注意

Visual Studio では、Python バージョン 2.7 だけでなくバージョン 3.5 から 3.7 もサポートされます。Visual Studio supports Python version 2.7, as well as version 3.5 through 3.7. Visual Studio を使って、他のバージョンの Python で記述されたコードを編集することはできますが、それらのバージョンは公式にはサポートされておらず、IntelliSense やデバッグなどの機能が動作しない可能性があります。While it is possible to use Visual Studio to edit code written in other versions of Python, those versions are not officially supported and features such as IntelliSense and debugging might not work. Python バージョン 3.8 のサポートはまだ開発中です。サポートについての具体的な詳細については、GitHub のイシューでご確認ください。Python version 3.8 support is still under development, specific details about support can be seen in this tracking issue on GitHub.

複数のインタープリターのサポートSupport for multiple interpreters

Visual Studio の [Python 環境] ウィンドウ (以下の図では横幅を広げて表示しています) を使用すると、グローバルな Python 環境、conda 環境、仮想環境をすべて 1 つの場所で管理できます。Visual Studio's Python Environments window (shown below in a wide, expanded view) gives you a single place to manage all of your global Python environments, conda environments, and virtual environments. Visual Studio では、標準的な場所にある Python のインストールが自動的に検出されます。また、カスタム インストールを構成することができます。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.

[Python 環境] ウィンドウを広げた表示

[Python 環境] ウィンドウを広げた表示

[対話型ウィンドウを開く] コマンドを使用して、Visual Studio のコンテキスト内で Python を対話的に実行します。Use the Open interactive window command to run Python interactively within the context of Visual Studio. [PowerShell で開く] コマンドを使用して、選択した環境のフォルダー内に独立したコマンド ウィンドウを開きます。Use the Open in PowerShell command to open a separate command window in the folder of the selected environment. そのコマンド ウィンドウから、任意の Python スクリプトを実行できます。From that command window you can run any python script.

詳細情報For more information:

豊富な編集、IntelliSense、コード読解Rich editing, IntelliSense, and code comprehension

Visual Studio には、構文の色分け、すべてのコードとライブラリのオートコンプリート、コードの書式設定、シグネチャ ヘルプ、リファクタリング、lint、型に関するヒントなどを備える最上級の Python エディターが用意されています。Visual Studio provides a first-class Python editor, including syntax coloring, auto-complete across all your code and libraries, code formatting, signature help, refactoring, linting, and type hints. また、Visual Studio には、クラス ビュー、 [定義へ移動][すべての参照の検索] 、コード スニペットなど、独自の機能もあります。Visual Studio also provides unique features like class view, Go to Definition, Find All References, and code snippets. 対話型ウィンドウと直接統合されているので、既にファイルに保存されている Python コードを簡単に開発することができます。Direct integration with the Interactive window helps you quickly develop Python code that's already saved in a file.

Visual Studio での Python コードのオートコンプリート

詳細情報For more information:

対話型ウィンドウInteractive window

Visual Studio で認識されるすべての Python 環境で、別のコマンド プロンプトを使用するのではなく、Visual Studio 内で直接、Python インタープリター用の同じ対話型 (REPL) 環境を簡単に開くことができます。For every Python environment known to Visual Studio, you can easily open the same interactive (REPL) environment for a Python interpreter directly within Visual Studio, rather than using a separate command prompt. また、環境間を簡単に切り替えることもできます。You can easily switch between environments as well. (別のコマンド プロンプトを開くには、 [Python 環境] ウィンドウで目的の環境を選択してから、前述の「複数のインタープリターのサポート」で説明したように、 [PowerShell で開く] コマンドを選択します)。(To open a separate command prompt, select your desired environment in the Python Environments window, then select the Open in PowerShell command as explained earlier under Support for multiple interpreters.)

Visual Studio の Python 対話型ウィンドウ

また、Visual Studio では、Python コード エディターと対話型ウィンドウ間の緊密な統合も提供されています。Visual Studio also provides tight integration between the Python code editor and the Interactive window. キーボード ショートカットの Ctrl+Enter キーを使用すると、簡単にエディターの現在のコード行 (またはコード ブロック) を対話型ウィンドウに送信し、次の行 (またはブロック) に移動することができます。The Ctrl+Enter keyboard shortcut conveniently sends the current line of code (or code block) in the editor to the Interactive window, then moves to the next line (or block). Ctrl+Enter キーを使用すると、デバッガーを実行することなく簡単にコードをステップ実行できます。Ctrl+Enter lets you easily step through code without having to run the debugger. また、選択されているコードを同じキー入力で対話型ウィンドウに送信し、対話型ウィンドウのコードをエディターに簡単に貼り付けることもできます。You can also send selected code to the Interactive window with the same keystroke, and easily paste code from the Interactive window into the editor. これらの機能を組み合わせることで、対話型ウィンドウ内のコードのセグメントについて詳しく調べ、エディターで簡単に結果をファイルに保存することができます。Together, these capabilities allow you to work out details for a segment of code in the Interactive window and easily save the results in a file in the editor.

Visual Studio は、インライン プロット、.NET、Windows Presentation Foundation (WPF) など、REPL の IPython/Jupyter もサポートしています。Visual Studio also supports IPython/Jupyter in the REPL, including inline plots, .NET, and Windows Presentation Foundation (WPF).

詳細情報For more information:

プロジェクト システム、プロジェクト テンプレート、項目テンプレートProject system, and project and item templates

注意

Visual Studio 2019 では、Python コードが含まれるフォルダーを開き、Visual Studio のプロジェクトやソリューションのファイルを作成せずに、そのコードを実行することができます。Visual Studio 2019 supports opening a folder containing Python code and running that code without creating Visual Studio project and solution files. 詳細については、クイック スタート:フォルダー内の Python コードを開いて実行する」をご覧ください。For more information, see Quickstart: Open and run Python code in a folder. ただし、このセクションで説明するように、プロジェクト ファイルを使用する利点があります。There are, however, benefits to using a project file, as explained in this section.

Visual Studio は、時間と共に複雑になるプロジェクトを管理するために役立ちます。Visual Studio helps you manage the complexity of a project as it grows over time. "Visual Studio プロジェクト" には、フォルダー構造をはるかに超えた機能があります。さまざまなファイルの使用方法やそれらが相互に関係する方法に関する解釈などです。A Visual Studio project is much more than a folder structure: it includes an understanding of how different files are used and how they relate to each other. Visual Studio を使用すると、アプリケーション コード、テスト コード、Web ページ、JavaScript、ビルド スクリプトなどを区別できます。また、ファイルに適した機能が有効になります。Visual Studio helps you distinguish app code, test code, web pages, JavaScript, build scripts, and so on, which then enable file-appropriate features. さらに、Visual Studio ソリューションは、Python プロジェクトや C ++ 拡張プロジェクトなどの複数の関連プロジェクトを管理する場合に役立ちます。A Visual Studio solution, moreover, helps you manage multiple related projects, such as a Python project and a C++ extension project.

Python プロジェクトと C ++ プロジェクトの両方を含む Visual Studio ソリューション

プロジェクト テンプレートと項目テンプレートで、さまざまな種類のプロジェクトやファイルの設定プロセスを自動化すると、貴重な時間を節約し、複雑でエラーが発生しやすい詳細情報の管理作業を軽減できます。Project and item templates automate the process of setting up different types of projects and files, saving you valuable time and relieving you from managing intricate and error-prone details. Visual Studio には、Web、Azure、データ サイエンス、コンソールなどの種類のプロジェクト用のテンプレートだけでなく、Python クラス、単体テスト、Azure の Web 構成、HTML、さらには Django アプリなどのファイル用のテンプレートも用意されています。Visual Studio provides templates for web, Azure, data science, console, and other types of projects, along with templates for files like Python classes, unit tests, Azure web configuration, HTML, and even Django apps.

Visual Studio の Python プロジェクト テンプレートと項目テンプレートPython project and item templates in Visual Studio

詳細情報For more information:

Visual Studio の長所の 1 つは強力なデバッガーです。One of Visual Studio's strengths is its powerful debugger. 特に Python 用には、Python/C++ 混合モード デバッグ、Linux 上のリモート デバッグ、対話型ウィンドウ内のデバッグ、Python の単体テストのデバッグが Visual Studio に含まれています。For Python in particular, Visual Studio includes Python/C++ mixed-mode debugging, remote debugging on Linux, debugging within the Interactive window, and debugging Python unit tests.

例外をポップアップ表示する Python 用の Visual Studio デバッガー

Visual Studio 2019 では、Visual Studio のプロジェクト ファイルがなくてもコードの実行とデバッグを行うことができます。In Visual Studio 2019, you can run and debug code without having a Visual Studio project file. 例については、「クイック スタート:フォルダー内の Python コードを開いて実行する」をご覧ください。See Quickstart: Open and run Python code in a folder for an example.

詳細情報For more information:

包括的なレポートを備えたプロファイリング ツールProfiling tools with comprehensive reporting

プロファイリングでは、アプリケーション内で時間がどのように使用されているかを調べます。Profiling explores how time is being spent within your application. Visual Studio は、CPython ベースのインタープリターを使用したプロファイリングをサポートし、複数のプロファイリング処理のパフォーマンスを比較する機能を備えています。Visual Studio supports profiling with CPython-based interpreters and includes the ability to compare performance between different profiling runs.

Visual Studio プロファイラーの Python プロジェクトの結果Visual Studio profiler results for a Python project

詳細情報For more information:

単体テスト ツールUnit testing tools

Visual Studio テスト エクスプローラーでテストを検出、実行、および管理し、単体テストを簡単にデバッグします。Discover, run, and manage tests in Visual Studio Test Explorer, and easily debug unit tests.

Visual Studio での Python 単体テストのデバッグ

詳細情報For more information:

Azure SDK for PythonAzure SDK for Python

Python 用 Azure ライブラリを使用することで、Windows、Mac OS X、Linux アプリから Azure サービスを簡単に使用できます。The Azure libraries for Python simplify consuming Azure services from Windows, Mac OS X, and Linux apps. Azure リソースの作成や Azure サービスへの接続に使用できます。You can use them to create and manage Azure resources, as well as to connect to Azure services.

詳細については、「Azure SDK for Python」と「Python 用 Azure ライブラリ」を参照してください。For more information, see Azure SDK for Python and Azure libraries for Python .

質問と回答Questions and answers

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

A:A. まだ実装されていませんが、開発者コミュニティで要望に投票することができます。Not at this time, but you can up vote the request on Developer Community. 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, the Python community supplied different means 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.

機能のサポートFeature support

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

  • Visual Studio 2019 (全エディション)Visual Studio 2019 (all editions)
  • 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 2015 およびそれ以前のバージョンは、visualstudio.microsoft.com/vs/older-downloads/ で入手できます。Visual Studio 2015 and earlier are available at visualstudio.microsoft.com/vs/older-downloads/.

重要

機能が完全にサポートおよび保守されるのは、Visual Studio の最新バージョンのみです。Features are fully supported and maintained for only the latest version of Visual Studio. 古いバージョンでも機能を使うことはできますが、積極的には保守されません。Features are available in older versions but are not actively maintained.

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

プロジェクト システムProject system 2017+2017+ 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 2017+2017+ 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 2017+2017+ 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 2017+2017+ 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 2017+2017+ 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 2017+2017+ 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
サーバー エクスプローラーのアタッチAttach Server Explorer 77 77

Django テンプレートDjango templates 2017+2017+ 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 2017+2017+ 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 2017+2017+ 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 2017+2017+ 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. Visual Studio 2012 の Git サポートは、Visual Studio Marketplace で入手できる Visual Studio Tools for Git 拡張機能で利用可能です。Git support for Visual Studio 2012 is available in the Visual Studio Tools for Git extension, available on the Visual Studio Marketplace.

  2. Azure Web サイトに配置するには、Azure SDK for .NET 2.1 - Visual Studio 2010 SP1 が必要です。Deployment to Azure Web Site requires Azure SDK for .NET 2.1 - Visual Studio 2010 SP1. 以降のバージョンは Visual Studio 2010 をサポートしません。Later versions don't support Visual Studio 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 サイトのリモート デバッグは、サーバー エクスプローラー[デバッガーのアタッチ(Python)] コマンドを使って実行可能です。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 - Visual Studio 2013 以降が必要です。Remote debugging requires Azure SDK for .NET 2.3 - Visual Studio 2013 or later.

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

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