軽くコマンドラインでhelloを動かしたり、図書館で本をパラパラ
ネットをチラチラレベルでしたが…
ちょうどVS Code Dev Container でPyton環境を構築してみていたので…
きっかけはGlobal Azure 2025 でセッションでのMCPサーバーを動かすデモ
Windows環境でDockerコンテナ(Docker Hubに公開されているイメージ)でサクッと動かしたデモ
まあいくら.NET C#といってもPythonのエコシステムは避けては通れませんよね…
もちろんこのデモではMCPサーバーを動かして動作を見てもらう
ということが目的だったので、Windows環境でVS Codeで、その上からGitHub CopilotのAgentから
ということであればDocker一択と思います。
で、uv/uvx って?
最低でも推奨のこの方法で使っておいた方がいいよね。(理解出来るレベルには)
uv
: Rust製の超高速Pythonパッケージマネージャーで、PyPIに公開されているものを直接実行という感じ…
Docker コンテナを使うのと同じにそれ以上にサクッと動きますよね。
Deckerイメージを使うのは.NET Aspireとかで自分でコンテナ化して使う
ってのが本来ですよね?きっと。。。
まあそんな流れから、順番おかしいかもですが
uv/uvx から
(time MCP Server だけなら、Windows環境でもPythonは不要でuvだけでuvxでサクッ)
そして、ちょうどDev Container環境にPythonの開発コンテナもつくっていじっていたので
こっちの環境でもMCPサーバーを動かして…
(GitHub Copilot ローカル(Windows)でしか動かないのでVS CodeでClineで登録して使用)
さらにこっちのPython環境でClineやWindsuefに丸投げしてみる
➜ pipインストールやMCPサーバーのPythonコードをゴリゴリ動かしてMCPサーバー動かしてくれた…
さらに、VS Code GitHub Copilot でツールにいつの間にかJupyter Notebook関連のツールが増えている…
ちょと使って見よう…
ローカル(Windows)やWSLにPythonやJupiterいれるよりも(一応やって即消しました)
Dev Container がいいかな?
って。
はじめてちゃんとPythonとJupyter Notebook 使ったかも。

という感じで
Copilotさんに基本構文のチュートリアルNotebookを作成してもらって
ポチポチポチ
おーーーーー
動的型付けでインタプリタ…
もう何十年ぶりって感じの感覚…

このツールも動かしてみて…
動く動く…って感じ。
そして公式へ…Jupyter Notebook
という流れ…


venvとかPoetryとかPyPIとか
勉強会(オンライン)やUdemyとかでは見たんですが…
実際に使わないと忘れる(身につかない)
そんなレベルからちょっと進んだかも?
以下、ChatGPT -san とのやり取りの一部をメモ貼り付け…
はい、スクリーンショットを拝見しました。とてもきれいに動作していて、**標準的なJupyter NotebookのブラウザUI(ローカル 127.0.0.1:8888
)**が正常に起動している状態です。
✅ 「Jupyter Notebook + ブラウザ」は事実上の標準です
理由:
- 公式ツール:Jupyterプロジェクト(Project Jupyter)の代表的プロダクト
- IPythonカーネルと完全統合:内部でIPythonを使って動いている
- 教育・データ分析・実験用途に最適
- ブラウザベースでクロスプラットフォーム
- 簡易Markdown + Pythonの組み合わせが直感的で、学習やレポート作成にも向いている
📌 状況ごとの推奨
利用ケース | 推奨UI | 補足 |
---|---|---|
初学者・入門教材 | ✅ Jupyter Notebook | シンプルで視覚的、セットアップも簡単 |
本格的な開発・マルチファイル操作 | 🔄 JupyterLab または VS Code | Jupyter Notebookはセル単位でしか扱えないため |
軽量で手軽に確認したいとき | 🖥 IPython / bpython / CLI | ターミナルで素早く実験したい時など |
統合開発環境が必要 | 🧠 VS Code + Python拡張 | コーディング・補完・デバッグの効率向上 |
✅ あなたの環境について補足
- 現在の表示は
Jupyter Notebook
UI ですが、もしJupyterLab
を使うとより多機能なUIになります(タブ分割、ファイルブラウザ、Markdownプレビューなど)。 インストール済みであれば以下で起動可能:jupyter lab
🔁 NotebookとIDEのハイブリッドも可
- VS Code では
.ipynb
ファイルを開くと Jupyter UI風のインターフェースが統合されています(セル実行、出力、変数エクスプローラーなど)。
📎 まとめ
- はい、「Jupyter Notebook + ブラウザ」はデファクトスタンダードです。
- 特に学習・データ分析・可視化用途では、最初の選択肢として非常に理にかなっています。
- 機能を拡張したいときは
JupyterLab
やVS Code
への移行もシームレスです。
ご希望であれば、JupyterLabとの違いや、VS CodeでNotebookを開く操作手順なども補足できます!
ありがとうございます!
それでは以下に、JupyterLabとVS CodeのJupyter関連のおすすめ機能・拡張・設定を目的別に分けてご紹介します。
🧪【JupyterLabのおすすめ拡張機能】
JupyterLabではjupyterlab-lsp
などの拡張で、IDEに近い体験が可能です。JupyterLab拡張は以下のコマンドで管理します:
jupyter labextension install <拡張名>
🔧 インストール前に(必要な場合あり):
pip install jupyterlab jupyterlab-lsp python-lsp-server
✅ 1. jupyterlab-lsp
(Language Server Protocol対応)
- 補完、ジャンプ、定義表示などIDE機能を提供
- VS Codeの補完体験に近づく
pip install jupyterlab-lsp python-lsp-serverjupyter labextension install @krassowski/jupyterlab-lsp
✅ 2. @jupyterlab/toc
- 目次(Table of Contents)パネル
- 大規模ノートブックのナビゲーションが快適に
jupyter labextension install @jupyterlab/toc
✅ 3. jupyterlab-git
- Git GUI統合
- ノートブックの差分比較も可能(JSON構造に対応)
pip install jupyterlab-gitjupyter labextension install @jupyterlab/git
✅ 4. variable inspector
- 変数一覧をパネル表示
- 実行中の変数や型・値が視覚的に確認可能
jupyter labextension install @lckr/jupyterlab_variableinspector
✅ 5. jupyterlab-code-formatter
- Blackなどによるコード整形(フォーマッタ)
- PEP8準拠に便利
pip install blackjupyter labextension install @ryantam626/jupyterlab_code_formatter
🧩【VS CodeのJupyter環境強化】
VS Codeはすでに統合度が高いですが、以下の設定や拡張を行うとさらに快適になります。
✅ 必須拡張機能一覧(すべて Microsoft製)
拡張機能名 | 説明 |
---|---|
Python | コア機能(必須) |
Jupyter | .ipynb 対応、カーネル連携 |
Pylance | LSP補完高速化、型ヒント強化 |
Jupyter Keymap | Notebook向けのキーバインド拡張 |
Jupyter Cell Tags | セルにタグを付与して実行制御(教育用途にも) |
⚙️ 設定強化例(settings.json
)
{ "python.languageServer": "Pylance", "python.formatting.provider": "black", "python.linting.enabled": true, "python.linting.flake8Enabled": true, "jupyter.askForKernelRestart": false, "jupyter.notebookFileRoot": "${workspaceFolder}", "jupyter.interactiveWindowMode": "perFile"}
🧪 VS CodeでJupyterを便利に使うTips
- セルは
# %%
で.py
ファイルでも使える(Python Interactiveモード) - 変数エクスプローラは Jupyterタブ内に表示
.ipynb
→.py
の変換も可能(メニューまたはコマンドパレット)
☁️【クラウド連携:VS Code / Jupyter両対応】
サービス | 概要 | 備考 |
---|---|---|
GitHub Codespaces | VS CodeベースのクラウドIDE | .ipynb も編集・実行可能 |
Google Colab | Notebookベースの無料GPU環境 | Jupyter Notebook完全互換 |
Azure Machine Learning Studio | JupyterLabと統合されたクラウドIDE | エンタープライズ向けに最適 |
✅ まとめ
利用シーン | 推奨拡張 |
---|---|
補完/定義ジャンプ | jupyterlab-lsp , Pylance |
Git連携 | jupyterlab-git , VS Code Git |
コード整形 | jupyterlab-code-formatter , black |
可視化/変数 | variable inspector , VS Code 変数ビュー |
Notebook効率化 | @jupyterlab/toc , Jupyter Keymap |
もし、具体的に「どの拡張を先に入れたらよいか」「トラブル時の診断方法」「拡張が動かないとき」などがあれば、詳細にもご対応できます!
また、jupyter labextension list
で現在の拡張確認もできます。
とても深いご洞察をありがとうございます。
そして、おっしゃる通りです — マイクロソフトエコシステム中心で静的型付け(C# / .NET)に馴染んでいる方にとって、Pythonのような動的型付け・インタープリタ言語は、最初は違和感があるものの、どこか懐かしい直感的な手触りがあると思います。
🧠 PythonとC#の文化・言語的な違いを踏まえての印象比較
観点 | Python | C# / .NET |
---|---|---|
型付け | 動的(x = 10 だけでOK) | 静的(int x = 10; 必須) |
実行形式 | インタプリタ(REPL即時実行) | コンパイル型(中間言語 + CLR) |
開発速度 | プロトタイピング向き(速い) | 保守・大規模開発に強い |
可読性 | 明示的な制御より暗黙の流れ(Pythonic) | 厳格で構造的(OOPベース) |
ツール群 | Jupyter, NumPy, pandas, matplotlib など分析寄り | Visual Studio, WPF, MAUI などアプリ開発寄り |
エコシステム | OSS・AI・データ分析に強い | エンタープライズ・クラウド開発に強い(特にAzure) |
🪄 LLM時代の新しい可能性
今は言語仕様の差はLLMさんのサポートで越えられると感じています。
はい、まさにこの視点が今の「LLMネイティブな開発」の本質の一つです。
✅ かつて
- 言語やツールごとに完全な専門性が必要
- 習得コストが高く、横断的に使うのが難しかった
✅ 今
- Copilot / ChatGPT / GPT-4.1 などの支援で、習得前提から即時活用へ
- C#で構築 → PythonでAI呼び出し → YAMLでCI/CD → BicepでAzureデプロイ → Markdownでドキュメント という多言語連携が自然に可能
💬 BASIC/QuickBasicの感触に通じるもの
Pythonの「書いたらすぐ動く」という体験は、昔の:
PRINT "HELLO"
FOR I = 1 TO 10: PRINT I: NEXT
…といったQuickBasicのような流れを思い出させます。これは「試しながら学ぶ」「手を動かしながら思考する」文化に近く、AIとの対話的な開発と相性がとても良いです。
👨💻 今後のおすすめ活用法(マイクロソフト中心の視点から)
分野 | Python活用例 | おすすめ理由 |
---|---|---|
Azure Functions | 軽量処理をPythonで記述 | Azure SDKが充実・テンプレートもあり |
Power BI/Pandas | データ加工・可視化 | Power Queryと併用可 |
VS Code Dev Container | Python入り環境をDockerで提供 | VS Codeと完全統合 |
AI・ML Ops | Python + Azure ML + VS Code | トレーニングからデプロイまで一気通貫 |
Excel + Python(preview) | Python関数でデータ処理 | Office 365連携が強化中(Microsoft自身が推進) |
✨ 最後に
Pythonは「ちょっとしたことをすばやく形にする」力に非常に長けており、C#/.NETのような「設計重視で信頼性高く開発する」世界と補完関係にあります。
そして今のLLM時代では、Pythonの弱点(型の不明瞭さや環境トラブル)も「聞けばすぐ解決できる」ようになったことで、学びの敷居が大きく下がりました。
ご希望があれば、今のご経験を活かして「マイクロソフト系 × Python × AI」でどんなことができるか、技術選定やアイデア相談もいつでもどうぞ!
こちらこそ、ありがとうございます。
ご質問の「Python、LLMのエコシステム」については、非常に重要なテーマです。
結論から先に言えば、Pythonは現在、LLM(大規模言語モデル)と最も深く結びついた言語であり、そこには「エコシステム」と呼ぶにふさわしい一連のツール、ライブラリ、フレームワーク、クラウドサービスの連携構造が存在します。
🔁 用語定義
用語 | 意味 |
---|---|
Pythonのエコシステム | 言語本体+標準ライブラリ+外部パッケージ+ツール群の集合体 |
LLMのエコシステム | モデル(OpenAI, Claude 等)+ラッパーAPI・フレームワーク・RAG構成・MLOpsなどの総称 |
そしてこの二つは今やほぼ一体化している状態です。
🧩 Python × LLM エコシステムの全体像(2025年現在)
以下はその構成要素を「役割別」に分類した一覧です。
1. モデル提供系(API経由)
サービス | 概要 | Python SDK |
---|---|---|
OpenAI (ChatGPT, GPT-4.1) | 世界標準のLLM API | openai |
Anthropic (Claude) | 高コンテキストのLLM | anthropic |
Azure OpenAI | MS製クラウド統合版 | openai , azure-identity |
Mistral, Cohere, Groq 等 | 軽量・高速系モデル | 各社APIあり |
2. LLMフレームワーク(ラッパー/抽象化)
フレームワーク | 主な用途 | 特長 |
---|---|---|
LangChain | RAG/Agent構築フレームワーク | LLMオーケストレーション |
LlamaIndex | インデックス構築+RAG | データベース統合が強い |
Semantic Kernel | マイクロソフト製 LLM SDK | C#/Python両対応(Copilot Stack向け) |
Haystack | RAG・QA構築用 | オープンソース寄り |
3. 実行基盤・インタラクション
ツール | 用途 | Pythonでの役割 |
---|---|---|
Jupyter / IPython | 対話実行環境 | 実験とプロンプト開発に最適 |
Streamlit / Gradio | UI付きLLMアプリ開発 | プロトタイピングで人気 |
FastAPI / Flask | API提供 | LLMバックエンドの構築に定番 |
4. ベクトルDB・RAG基盤
サービス | Python対応ライブラリ |
---|---|
Pinecone | pinecone-client |
Weaviate | weaviate-client |
Chroma | chromadb |
Qdrant | qdrant-client |
5. 開発・運用補助(MLOps/DevOps寄り)
ツール | 用途 |
---|---|
Weights & Biases | 実験管理・ログ |
MLflow | モデル管理・デプロイ |
Docker + VS Code Dev Containers | 環境分離・再現性確保 |
GitHub Actions + Copilot | CI/CDとAI支援開発 |
6. 生成系ツール
ツール | 内容 |
---|---|
PromptLayer | プロンプトのA/Bテスト・管理 |
Guardrails.ai | 出力制御・JSON/構造化保障 |
LMQL, Outlines | 型安全な出力記述フレームワーク |
Instructor, Pydantic | LLM出力のバリデーション・構造変換 |
🎯 PythonがLLMエコシステムの中心にいる理由
- LLM関連ライブラリの9割以上がPython製
- AI/ML技術者の多くがPythonユーザー
- 柔軟な文法と動的言語でLLM連携に向いている
- Jupyter Notebookという「人間とAIが対話するためのUI」が既に存在している
- FastAPIなどとの組み合わせでSaaS/バックエンド化が容易
📘 エコシステムの連携図(概念)
[ユーザー] ↓[Streamlit UI] / [FastAPI API] ↓[LangChain] / [Semantic Kernel] ↓[OpenAI API] + [ベクトルDB] + [外部データ(PDF/DB等)] ↓[Python実行環境(Jupyter / VS Code)] ↓[開発・監視:W&B / MLflow / Docker / GitHub]
✨ まとめ
- PythonとLLMは、もはや不可分な関係にあります。
- Pythonを使えば、LLMを「使う」「作る」「評価する」「サービス化する」まで一貫して扱えます。
- .NETやC#はAIにおいて周辺支援や統合に強みがありますが、LLMの中心的なライブラリ群はPythonが圧倒的に主流です。
ご希望があれば、このPython/LLMエコシステムの中で「Semantic Kernel」「LangChain」「RAG」「Streamlit」など、実際に何から触れると良いかもご提案可能です!お気軽にどうぞ。
コメントを残す