本文へ移動
技術を、自社の仕事に。
判断と実行を助けるメディア

記事を検索

社内のPython資産は載るのか — Python Workersが正式提供に

目次 · 4項目

社内で動いている処理を棚卸しすると、Pythonで書かれたものがまとまって出てきます。日次の集計、外部サービスとのデータ連携、機械学習まわりの前処理。書いた人が退職していることも珍しくありません。

これをサーバレスの実行基盤に移そうとしても、実行環境がJavaScript前提だと、Pythonの処理を呼ぶために薄い変換層を挟むことになり、その層の保守が新しい負債になります。この前提が変わりました。

正式提供で何が変わったか

Cloudflareは2026年9月21日、Python Workersを正式提供にしたと発表しました。Pythonを開発プラットフォームの一級の言語として全面的にサポートする、という位置づけです。

実務に効くのは次の変更です。

FastAPI・Django・Flaskのアプリケーションが、組み込みのコネクタ経由で動きます。非同期のフレームワークはworkers.asgi、Djangoのような同期のものはworkers.wsgiが受け持ちます。既存のWebアプリをそのまま持っていける可能性がある、ということです。

Workers AI・R2・D1・Hyperdrive・Durable Objects・キュー・ワークフローに、Python側から直接アクセスできます。これまで必要だった手作業の変換が不要になります。

openai・langchain・mcpといったライブラリが、HTTPクライアントをfetch API経由で通信させる上流への修正によって動くようになりました。

開発と配置にはpywranglerを使います。pywrangler devで手元の確認、pywrangler deployで配置、という流れです。

動かないパッケージには共通点がある

見積りの前に確認すべきなのはここです。

Python WorkersはCPythonをWebAssemblyにコンパイルしたPyodideを、V8のisolate内で動かします。この構造から、扱えるパッケージの範囲が決まります。

種類扱い
純粋なPythonのパッケージ、PyEmscripten対応のパッケージPyPIのものが使える
Pyodideに同梱されているパッケージ(numpy・pandas・cryptographyなど)使える
C・C++・Rustのネイティブ拡張を持ち、上の2つに当てはまらないものWasm向けのwheelが出るまで使えない

numpy・pandas・cryptographyのようにネイティブ拡張を持つライブラリでも、Pyodideに同梱されているものは対応範囲に入ります。つまずくのは3つ目です。Cloudflare自身も、WebAssembly向けのパッケージ対応はまだ初期段階で、PyPIにPyEmscripten向けのwheelが出ていないパッケージがあると説明しています。「Pythonが動く」と「手元のコードが動く」の間には、この差があります。

起動の速さについては、配置のときに工夫が入っています。モジュールレベルのimportと初期化をデプロイ時に実行し、そのWasmのメモリ状態をスナップショットとして保存する。isolateが立ち上がるときの初期化の仕事を、事前に済ませておく形です。

依存一覧を書き出し、Pyodide同梱やWasm版のあるものを除いてネイティブ拡張を持つパッケージを数え、0でなければ該当する処理の置き場所を分けるという3段階の切り分けを示した編集部の概念図。実際の実行結果ではない

見積り前にやる切り分け

移設できるかどうかは、コードの行数ではなく、まず依存関係で分かれます。作業は2つです。

  1. requirements.txtやpyproject.tomlから依存パッケージの一覧を出す
  2. その中から、ネイティブ拡張を含み、Pyodideに同梱されておらず、PyPIにもWasm向けのwheelが無いものを数える

数がゼロなら、移設の検討を進める価値があります。1つでも残るなら、次の質問は「その処理は本当にこの基盤で動かす必要があるか」です。該当する処理は別の場所に残し、APIの入口だけを移す、という分け方が現実的なことがあります。

依存関係のほかに、標準ライブラリの制約も確かめます。公式ドキュメントによると、threadingとmultiprocessingはimportできても機能しません。ファイルの読み書きはメモリ上の一時的な領域に対して行われ、isolateが破棄されると内容は消えます。スレッドで並列化している集計や、ファイルを置いて後から読む連携処理は、書き方の見直しが要ります。

同じ形の切り分けは、実行基盤を選ぶ場面全般で使えます。判断軸はCloudflareとAWSの選定と移行に整理しました。

「動く」の先にある見積り

Pythonの資産が古い場合、移設の前にバージョンの問題が立ちはだかります。Python 2系のコードが残っている、あるいは3系でも古い書き方が前提になっているケースです。この場合、実行基盤の話より先に言語のバージョンを上げる工数が発生します。見積りの立て方はPython 2から3への移行の見積りに書きました。

外部に移設を依頼する場合、最初に渡すべきは依存パッケージの一覧です。これがあれば、相手は移設の可否の見当をつけやすくなります。無いまま「Pythonの処理を移したい」とだけ伝えると、調査自体が見積り項目になります。

2026年9月25日に、Cloudflareの2026年9月21日付のブログと、Python Workersのドキュメント(概要・パッケージ・動作の仕組み・標準ライブラリ)、Pyodideの同梱パッケージ一覧を確認しました。Python Workersへの実際の配置、FastAPIやDjangoのアプリケーションの動作確認、個々のパッケージのimportの可否、起動時間の計測は未実施です。対応パッケージの範囲は変わるため、導入前に公式ドキュメントで確認してください。本記事は適用条件と見積り前の切り分けの整理です。

既存のPython資産の移設可否の調査や、実行基盤の選定は、グリームハブへご相談ください。

この記事を共有XFacebook
鈴木 翔

技術の可能性に魅了され、学生時代からプログラミングとデジタルアートの分野に深い関心を持つ

この記事のテーマを、自社の次の一歩へ

自社での進め方を、具体的に。

つくりたい仕組み、既存システム、運用の条件を整理し、実現に向けた次の一歩を考えます。

  • 実現したい仕組み
  • 既存環境との接続
  • 運用の条件
開発・運用の構想を相談する

構想段階からご相談いただけます。この記事の情報を相談フォームに引き継ぎます。

最新記事をメールで受け取る