📖
Lambda Python3.10に入っている標準モジュール
先にまとめ
- AWS Lambda Python3.10にデフォルトで入っているモジュールについて調べました
- 特に3.9から目立つ変化はなし
- (参考)3.8 -> 3.9ではPython標準のZoneInfoが使えるようになって個人的には嬉しかったのですが
2023年4月に対応
Apr 18, 2023
AWS Lambda は、マネージドランタイムおよびコンテナベースイメージの両方として Python 3.10 に対応しました。
ちなみに
標準で入っているモジュール
py39からpy310で変化があったものを調べました。
(調べ方はAppendix)
(下記gistのRevisionを見れば39からの変化点は確認可能)
一覧のgist
削除されたもの
(py39->310で変化があるが)どちらでも使えるもの
py39->py310で上記のリストから消えたり増えたりするものの、どちらもで使えるもの
- gettext
- s3transfer
- cProfile
まとめ
- 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