Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

標準ライブラリ

最終更新 Markdown で表示Agent セットアップ

Python で書いた Worker は Pyodide で実行されます。

Pyodide は CPython の WebAssembly 移植です。ほとんどの点で CPython(Python の参照実装。一般に「Python」と呼ばれます)と同じ動きをします。 CPython のテストスイートの大半は、Pyodide 上でも通ります。動作の差を気にする必要は、ほとんどありません。

Python 標準ライブラリ は Python Workers で一通り使えます。次の例外があります。

除外されるモジュール

次のモジュールは Python Workers では利用できません。

  • curses
  • dbm
  • ensurepip
  • fcntl
  • grp
  • idlelib
  • lib2to3
  • msvcrt
  • pwd
  • resource
  • syslog
  • termios
  • tkinter
  • turtle.py
  • turtledemo
  • venv
  • winreg
  • winsound

次のモジュールはインポートできますが、WebAssembly VM の制限により機能しません。

  • multiprocessing
  • threading

次は存在しますが、削除済みの termios パッケージに依存するためインポートできません。

  • pty
  • tty

機能が制限されるモジュール

  • decimal: decimal モジュールには、同じ機能の C 実装(_decimal)と Python 実装(_pydecimal)があります。 利用できるのは C 実装のみです(WebAssembly にコンパイルされています)
  • pydoc: Python 組み込みのヘルプメッセージは利用できません
  • webbrowser: 元の webbrowser モジュールは利用できません。

メモリ上のファイルシステム

Python Workers は、一時的なメモリ上のファイルシステムを使えます。標準の Python ファイル I/O(例: open()pathlib.Path)で読み書きできますが、データは Worker isolate が破棄されると失われます。ファイルシステムは、異なる isolate インスタンス間では共有されません。

一時的なファイル操作には使えますが、永続ストレージには頼らないでください。永続ストレージには KVR2、または Durable Objects を使います。

役に立ちましたか?