关于 Devcontainer Python
Devcontainer Python 是基于 Devcontainer 的 Python 项目环境模板,适合希望快速搭建一致、隔离开发环境的开发者。模板包含示例代码、测试,以及常用代码质量工具。
主要功能
- 01Python 3.11 开发环境
- 02预装 pytest、flake8 和 black
- 03基于 Docker 的隔离工作区
- 04Python 语法与设计模式示例
- 05附带测试用例
适用场景
- 01在一致的环境中启动 Python 项目
- 02学习和查阅 Python 语法与设计模式
- 03运行测试并检查或格式化代码
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
来自项目 READMEDevcontainer Python
このリポジトリは、Python プロジェクトの開発環境を簡単に構築できる Devcontainer を利用したテンプレートです。必要なツールや依存関係があらかじめ設定されており、一貫した開発環境を提供します。
特徴
- Python 3.11 を使用
- あらかじめインストールされているツール:
pytest(テストフレームワーク)flake8(コードリントツール)black(コードフォーマッタ)
- Devcontainer による一貫性のある開発環境
- Docker ベースの隔離された環境で、設定の一貫性を保証
- サンプルコードとリファレンス例の追加
- Python の基本的な文法やデザインパターンをカバー
- 詳細なテストケースを含む実装
はじめに
以下の手順で、この開発環境を利用できます。
-
このリポジトリをクローンします:
git clone https://github.com/tomohiroJin/devcontainer-python.git -b feature/add-reference cd devcontainer-python -
VS Code でプロジェクトを開きます:
code . -
Devcontainer でプロジェクトを再オープンするように求められたら、指示に従って再オープンします。
-
セットアップを確認するためにテストを実行します:
pytest
リファレンス
このプロジェクトには、基本的な Python の文法と主要なデザインパターンを学習・参照できるサンプルが含まれています。
使用方法
1. テストの実行
pytestを使用してプロジェクトのテストを実行します。以下のように、さまざまな方法でテストを実行できます。
すべてのテストを実行
pytest
特定のテストファイルを実行
特定のテストファイルのみを実行したい場合は、ファイルパスを指定します。
pytest tests/reference/basic/test_conditions.py
テストの進捗と詳細を確認
-v(verbose)オプションを使用して、各テストの詳細を確認できます。
pytest -v
特定のテストケースを実行
-kオプションを使って、名前に特定の文字列を含むテストケースを実行します。
pytest -k "fizzbuzz"
テスト中の出力を確認
テスト中のprintやログの出力を確認したい場合、-sオプションを使用します。
pytest -s
テスト結果をリポート形式で保存
pytest-htmlプラグインを使用して、HTML 形式のレポートを生成します。
pip install pytest-html
pytest --html=report.html
2. コード品質チェック
flake8を使用してコードの品質を確認します。以下のオプションを組み合わせることで、詳細な結果を得ることができます。
基本的なコードチェック
プロジェクト全体をチェックします。
flake8
最大行長を指定
Black と統一するために、最大行長を 88 文字に設定します(設定ファイルに記述しても OK)。
flake8 --max-line-length=88
特定のルールを無視
Black と矛盾するルール(例: E203, W503)を無視して実行します。
flake8 --ignore=E203,W503
特定のファイルのみをチェック
特定のファイルやディレクトリだけをチェックします。
flake8 src/fizzbuzz/fizzbuzz.py
コード内の TODO や FIXME を確認
--radarや--todoプラグインを使用して、TODO コメントを含む箇所を一覧表示します(プラグインのインストールが必要)。
pip install flake8-todo
flake8 --todo
3. コードのフォーマット
blackを使用してコードを自動整形します。
プロジェクト全体をフォーマット
プロジェクト内のすべての Python ファイルをフォーマットします。
black .
変更内容をプレビュー
--checkオプションを使用すると、フォーマットの提案内容だけを確認できます(実際の変更は行われません)。
black --check .
特定のファイルやディレクトリだけをフォーマット
特定の範囲だけを対象にする場合、パスを指定します。
black src/fizzbuzz/fizzbuzz.py
カスタマイズ:
.devcontainer/devcontainer.jsonファイルを編集することで、開発環境をカスタマイズできます。- 例えば、Python のバージョン変更や追加ツールのインストールが可能です。
ライセンス
このプロジェクトは MIT ライセンスの下で提供されています。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。