Cloudflare Pages でサポートされている言語の 1 つに Python がありますが、デフォルトバージョンは v2.7 とちょっと古いです。そのため、たとえば v3 が必要な場合には Python バージョンを指定してやらないといけないです。
バージョンを指定する
Python の場合バージョンの指定は環境変数PYTHON_VERSION
で指定するか、あるいはruntime.txt
またはPipfile
で行えます。たとえば環境変数で指定するなら以下のようになります。
変数名 | 値 |
---|---|
PYTHON_VERSION | 3.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 の情報を参考にしてみてもが良いかもしれません。
- Build configurationにとくに記載がなかったため最初は
PYTHON_VERSION
を 3.9→3.8→3.7 と試していました…↩ - ちなみに出力さた url はリンクが切れているので(Xenial image なのだとすれば)https://github.com/netlify/build-image/blob/xenial/included_software.mdを参照するとよさそう↩