📖

Lambda Python3.10に入っている標準モジュール

2023/06/02に公開

先にまとめ

  • AWS Lambda Python3.10にデフォルトで入っているモジュールについて調べました
  • 特に3.9から目立つ変化はなし

2023年4月に対応

Apr 18, 2023

AWS Lambda は、マネージドランタイムおよびコンテナベースイメージの両方として Python 3.10 に対応しました。

https://aws.amazon.com/jp/about-aws/whats-new/2023/04/aws-lambda-python-3-10/

ちなみに

  • GCP は2022年11月に対応。2023年2月に3.11に対応
  • Azureは2023年2月に対応
  • Python3.10のリリースは、2021-10-04

標準で入っているモジュール

py39からpy310で変化があったものを調べました。

(調べ方はAppendix)
(下記gistのRevisionを見れば39からの変化点は確認可能)

一覧のgist

削除されたもの

(py39->310で変化があるが)どちらでも使えるもの

py39->py310で上記のリストから消えたり増えたりするものの、どちらもで使えるもの

まとめ

  • LambdaのPython3.10で使えるモジュールについて調べました
  • モジュールを出力しても明示的に出てこなくても実際は使えるものがあると分かりました(他の調べ方がある?)

Appendix: モジュールの調べ方

リストはこの方法で出しました。Lambda上で実行。

print ( help('modules') )

この方法はインストールされているものを出力できます。

import pkg_resources

installed_packages = pkg_resources.working_set
installed_packages_list = sorted(["%s==%s" % (i.key, i.version) for i in installed_packages])
for item in installed_packages_list:
    print(item)
種類 help('modules') pkg_resources
提供される情報 利用可能な全てのモジュールの単純なリストを提供 インストールされたパッケージとそのバージョンのリストを提供
詳細レベル 大きなパッケージの一部であるモジュールもリスト 最上位レベルのパッケージをリストし、これらのパッケージ内の個々のモジュールはリストしない
情報取得方法 システムのPythonパスをスキャンして利用可能なモジュールを探す Pythonの内部のインストール済みディストリビューションのリストを使用、このリストはpipやeasy_installなどで何かをインストールするときに作成
出力方法 直接 stdout に出力、リダイレクトしたり、他のPythonスクリプトの一部として使用することはできない Pythonスクリプト内でリストオブジェクトを作成し、必要に応じて操作または出力することができる

Discussion