Cloudflare PagesでPythonのバージョンを指定する

公開

Cloudflare Pages でサポートされている言語の 1 つに Python がありますが、デフォルトバージョンは v2.7 とちょっと古いです。そのため、たとえば v3 が必要な場合には Python バージョンを指定してやらないといけないです。

バージョンを指定する

Python の場合バージョンの指定は環境変数PYTHON_VERSIONで指定するか、あるいはruntime.txtまたはPipfileで行えます。たとえば環境変数で指定するなら以下のようになります。

変数名
PYTHON_VERSION3.7

最新のバージョンは…?

じゃあ現在指定可能な最新バージョンはというと、どうやらv3.7のようです1。Sphinx のデプロイ方法について書かれたドキュメントに以下のように記述されていました。

Python 3.7 is the latest version supported by Cloudflare Pages.

試しにPYTHON_VERSIONで 3.8 を指定してみた際は以下のようなエラーがでてインストールできませんでした。

01:43:15.322	Installing dependencies
01:43:15.322	/opt/build/bin/run-build-functions.sh: line 168: /opt/buildhome/python3.8/bin/activate: No such file or directory
01:43:15.322	Error setting python version from the PYTHON_VERSION environment variable
01:43:15.322	Please see https://github.com/netlify/build-image/#included-software for current versions
01:43:15.323	Failed: build command exited with code: 1

netlify/build-image

上記のログ2を眺めていて気がついたのですが、Cloudflare Pages のビルド環境はnetlify/build-image(Ubuntu 16.04.6 LTS だったのでたぶん Xenial image)がベースになっているようです。

netlify/build-image は名前の通り Netlify で使われているビルドイメージです。Cloudflare Pages はドキュメントがまだ整備されきっていない部分もあるので、 Python に限らずビルド関連で詰まったら Netlify の情報を参考にしてみてもが良いかもしれません。


  1. Build configurationにとくに記載がなかったため最初はPYTHON_VERSIONを 3.9→3.8→3.7 と試していました…
  2. ちなみに出力さた url はリンクが切れているので(Xenial image なのだとすれば)https://github.com/netlify/build-image/blob/xenial/included_software.mdを参照するとよさそう
プロフィール画像
Privacy PolicyBuilt with Gatsby, © 2019 tamaosa