← Cloudflare Workers / workers / languages / python
Standard Library
Workers, написанные на Python, выполняются Pyodide ↗.
Pyodide is a port of CPython to WebAssembly, for the most part it behaves identically to CPython ↗ (эталонная реализация Python, которую часто называют просто «Python»). Большинство тестов из набора CPython успешно проходят при запуске в Pyodide. В большинстве случаев вам не придётся беспокоиться о различиях в поведении.
Полный Python Standard Library ↗ доступен в Python Workers, за следующими исключениями:
Исключённые модули
В Python Workers недоступны следующие модули:
- curses
- dbm
- ensurepip
- fcntl
- grp
- idlelib
- lib2to3
- msvcrt
- pwd
- ресурс
- 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 (например, open(), pathlib.Path), но все данные теряются при уничтожении изолята Worker. Файловая система не разделяется между разными экземплярами изолятов.
Это может быть полезно для работы с временными файлами, но не стоит полагаться на это как на постоянное хранилище. Используйте KV, R2, или Durable Objects для долговременного хранения данных.