Python 開発環境

ドキュメント:

Using Python Environments | Visual Studio Code Docs [Official]

導入

手順
  1. Python をインストールする。
  2. VSCode で使用するインタープリターとして設定する。
  3. デバッガーを構成する。

ドキュメント:

Get Started Tutorial for Python | Visual Studio Code [Official]

参考:

Visual Studio Code で Python 環境構築 – Qiita

Visual Studio Code で Python 開発環境を整える – Qiita

インテリセンス/コード補完

設定ファイル settings.json を開いて、python.autoComplete.extraPaths にモジュールのパスを追加する。

参考:

インテリセンスが効かない?を解消 – Qiita

python.autoComplete.extraPaths を設定し、外部モジュールのインテリセンスを有効にする | ざきの学習帳

インタープリターを指定する

設定ファイル settings.json を開いて、python.pythonPath にインタープリター (Python 実行バイナリ) のパスを指定する。

{
    // ...
    "python.pythonPath": "C:\\Users\\[User Name]\\AppData\\Local\\Programs\\Python\\Python38\\python.exe",
    // ...
}Code language: JSON / JSON with Comments (json)

参考:

ワークスペース毎に使用する Python 実行環境を切り替える | LogixSquare

Deprecate PythonPath · Issue #11015 · microsoft/vscode-python – GitHub

Flake8

  • 文法チェック
  • コーディングスタイルの検証 (PEP8)
  • 自動整形

入手:

flake8 | PyPI [Official]

ドキュメント:

Documentation – flake8 | PyCQA

参考:

Pylint の代わりに Flake8 を導入し自動整形を設定する – Qiita

Flake8 を導入する – Qiita

リンターとして Pylint の代わりに Flake8 を導入するメモ | Sweet Escape

Autopep8 と Flake8 を適用する | trelab

リンターを Pylint から Flake8 に切り替える | EC-X

Flake8 で特定エラーを除外する | TIL

Black と Flake8 を使ってきれいなコードを書く!! | yynsmk’s tech blog

コードフォーマッター (Black)/リンター (Flake8) をセットアップ | ITC Engineering Blog

静的解析/文法チェック

こちらのページを参照

操作

Ctrl + Shift + M 「問題」パネルを開く

ドキュメント:

Linting Python | Visual Studio Code [Official]

参考:

エラーチェックをするには? | これブロ

コーディング規約 PEP8 に準拠する – Qiita

Pylance / Pyright / Mypy – 静的型をする拡張の違い | kamocyc’s blog

自動整形

  • Pylint VSCode でデフォルトのリンター
  • Flake8 複数のライブラリのラッパー
  • Autopep8 PEP8 準拠
  • Black 最近人気(?)/ほとんどカスタマイズできない
こちらのページを参照

参考:

コード整形ツールをいろいろ使ってみた | リブロワークス

コードを快適に書くための設定をまとめてみる | K2SS

formatOnSave で Autopep8 を使って整形する | tech weblog

Formatting | Don Jayamanne

自動インポート

参考:

auto import extension – Stack Overflow

importmagic implemented by pilat · Pull Request #636 · microsoft/vscode-python – GitHub

how to quickly add `import xxx` to top · Issue #930 · microsoft/vscode-python – GitHub

インタープリター (Interpreter)

プロジェクトで使用するインタープリターを指定するには、プロジェクトの設定ファイル .vscode/settings.jsonpython.defaultInterpreterPath を指定する。

{
    // ...
    "python.defaultInterpreterPath": "~/.pyenv/pyenv-win/veersions/3.11.x",
    // ...
}Code language: JSON / JSON with Comments (json)

参考:

Cannot select python interpreter · Issue #3535 · microsoft/vscode-python – GitHub

the extension can not find the path of python from microsoft store · Issue #10850 · microsoft/vscode-python – GitHub

How to setup Visual Studio code to find the Python 3 interpreter in Windows 10? – Stack Overflow

VSCode doesn’t show Poetry virtualenvs – Stack Overflow

コード補完/静的解析で使用するパスを設定する

プロジェクトの設定ファイル .vscode/settings.json で次の項目を設定する。

  • python.autoComplete.extraPaths
  • python.analysis.extraPaths
{
    // ...
    "python.autoComplete.extraPaths": [
        "C:\\Users\\[User Name]\\AppData\\Local\\pypoetry\\Cache\\virtualenvs\\xxx-py3.11\\Lib\\site-packages",
        // ...
    ],
    "python.analysis.extraPaths": [
        "C:\\Users\\[User Name]\\AppData\\Local\\pypoetry\\Cache\\virtualenvs\\xxx-py3.11\\Lib\\site-packages",
        // ...
    ],
    // ...
}Code language: JSON / JSON with Comments (json)
Poetry

Poetry で作成した仮想環境 (キャッシュ) のパスを表示するには、プロジェクトフォルダで次のコマンドを実行する。

>poetry env info --path

参考:

reportMissingImports が出るときの対処法 – Qiita

reportMissingImports をなんとかしてコードが補完されるようにする | ネコニウム研究所

import で未解決の警告が出る問題の対策方法 | aburi6800 のブログ

How to Solve Pylance ‘missing imports’ in VSCode (Alin Climente) | DEV Community

problem with module imports – Stack Overflow

Report Missing Imports – Stack Overflow

How do I make Poetry site-packages searchable on VSCode? – Stack Overflow

デバッガー

  • 設定ファイル launch.json
構成 (Configuration)
  • name 構成の名前
  • type デバッガーの種類 (固定値python)
  • request モード
    • launch 「program」で指定されたファイルのデバッグを開始する
    • attach 実行中のプロセスにデバッガーを接続する
  • program デバッグ対象のファイルを指定する
  • console プログラムからの出力を表示するコンソールを指定する
    • integratedTerminal VSCode 統合ターミナル (デフォルト)
    • internalConsole VSCode 内のデバッグコンソール
    • externalConsole 外部コンソール

ドキュメント:

Debugging Configurations for Python Apps | Visual Studio Code [Official]

Set Configuration Options | Visual Studio Code [Official]

Auto Reload | Visual Studio Code [Official]

学習:

Configure and Run the Debugger – Tutorial | Visual Studio Code [Official]

参考:

VSCode で Python のリモートデバッグ – Qiita

VSCode でリモートデバッグ | ネットワーク管理者 (の卵) 養成講座

不要な import を自動的に削除する

コード:

Remove Unused Imports on Save (jvacek) – GitHub Gist

import 警告/エラー

参考:

外部モジュールをインポートすると、「Unable to import ‘module-name’ pylint(import error)」と表示される – Qiita

PyLint が import でうざい!!!! – Qiita

PyLint の Unable to import の回避方法 | nobu blog

PyDev で発生する Unresolved import error の解決方法 | 親バカエンジニアのナレッジ帳

__init__.py があると、”Unable to import ‘○○○’ pylint(import-error)” になる – スタック・オーバーフロー

import の下に赤線が出るバグ? – teratail

unresolved import issue · Issue #3840 · microsoft/vscode-python – GitHub

How to suppress some errors / warnings – Super User

PyLint “Unable to import” error – how to set PYTHONPATH? – Stack Overflow

拡張機能

参考:

VSCode を Python 超特化型にする最高の拡張機能 20選まとめ | ゆるプロ日記

まとめ

settings.json まとめ – Qiita

Pylint

公式サイト:

Pylint – Code Analysis for Python [Official]

リポジトリ:

PyCQA/pylint: It’s Not Just a Linter that Annoys You! – GitHub

ドキュメント:

Documentation – Pylint | PyCQA

参考:

VSCode で静的コード解析ツール Pylint を使用する | 山pの楽しいお勉強生活

Linter pylint is not installed と表示される – Qiita

Pylint – Wikipedia

Error message “Linter pylint is not installed” – Stack Overflow

Pylance

入手:

Pylance | Visual Studio Marketplace [Official]

参考:

Python の新しい言語サーバー Pylance がプレビューを卒業/Visual Studio Code でリッチな開発支援を実現 | 窓の杜

Unsupported generic types (`”List” is not defined`) when using comment syntax · Issue #595 · microsoft/pylance-release – GitHub

“Play” is not defined – Pylance (reportUndefinedVariable) – Stack Overflow

Pyright

入手:

Pyright | Visual Studio Marketplace [Official]

リポジトリ:

microsoft/pyright: Static Type Checker for Python – GitHub

Pyre

公式サイト:

Pyre [Official]

入手:

pyre-vscode | Visual Studio Marketplace [Official]

リポジトリ:

facebook/pyre-check: Performant Type-Checking for Python – GitHub

Import Magic

**OBSOLETE**

リポジトリ:

alecthomas/importmagic: A Python Library for Finding Unresolved Symbols in Python Code, and the Corresponding Imports – GitHub

入手:

Import Magic | Visual Studio Marketplace [Official]

Python Language Server

**OBSOLETE**

リポジトリ:

microsoft/python-language-server: Microsoft Language Server for Python – GitHub

参考:

Implement code action for missing imports · Issue #19 · microsoft/python-language-server – GitHub

Autopep8

リポジトリ:

hhatto/autopep8: A Tool that Automatically Formats Python Code to Conform to the PEP 8 Style Guide – GitHub

参考:

Visual Studio Code へ Autopep8 を導入する – Qiita

VSCode で Autopep8 と Flake8 を適用する | trelab

Mac の VSCode で Autopep8 を設定する | 猫の手なら貸せる

Formatter autopep8 is not installed. Install? の解決 – Qiita

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Protected by reCAPTCHA