0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Lambda関数でreportlabを使う

Last updated at Posted at 2023-05-17

結論

awsのlambda関数(python)でpdf化を行うライブラリ「reportlab」を使うには、レイヤーの追加が必要だった。既にreportlab用にlambdaレイヤーを作成してくれているのでそちらを使う。

必要かもしれない準備

2023/5/17日現在では、このreportlab用のレイヤーはpython3.8までしか使えない(3.9もいけそう?)ので、pythonのバージョンを合わせる必要があった。
まずはバージョンを確認

$ pyenv versions

* 3.10.3 (set by /Users/user/.pyenv/version)

デフォルトバージョンが3.10なので変更が必要
以下のコマンドを順に打つ。

# python3.8をインストール(3.8代ならなんでも)
$ pyenv install 3.8.8
# デフォルトバージョンを設定
$ pyenv global 3.8.8
# 再度バージョンを確認
$ pyenv versions

最後のコマンドで

* 3.8.8 (set by /Users/user/.pyenv/version)
 3.10.3

のように、指定したバージョンの横に*がついていれば大丈夫

ここで、インストールはできているのにデフォルトバージョンが上記コマンドでも変更されない場合は、環境変数でバージョンを指定している可能性がある。

# 環境変数を確認
echo $PYENV_VERSION

これで指定したいものと違えば、以下のコマンドで環境変数を削除する。
この環境変数はターミナルごとに作成されるのでまたターミナルを開き直すとリセットされる。

unset PYENV_VERSION

ちなみに以下のコマンドで再設定することも可能らしい

export PYENV_VERSION=3.10.3

手順

これの通りにレイヤーを追加する。
この記事ではpandasを例にしているが、reportlabを選べばできる。

上記の記事でも出てくるが、以下にレイヤーのARNが一覧で紹介されている

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?