よしたく blog

ほぼ週刊で記事を書いています

Netlify で Python のバージョンを変更する方法

はじめに

2月から趣味のブログをnoteからPelicaとNetlifyの組み合わせで運用していこうと思っていたが環境構築の際に Error setting python version from runtime.txt が発生したためメモを残す。

NetlifyでのPythonデフォルトバージョンは2.7

この記事を書いた2020/02/05時点でNetlifyで使っているPythonのデフォルトのバージョンは2.7となっている。確認方法だが、まずNetlifyのSettings → Build & Deploy → Build image selectionから使われているBuild imageがわかる。そして、このBuild image内部で使われている言語のバージョンについてGitHub上のドキュメントに書かれており各言語のバージョンが確認できる。次のURLはBuild image内で使われている言語のバージョン一覧に飛ぶようになっている。

Ubuntu Xenial 16.04 (default) から抜粋となるが、記述時点のものを載せておく。

  • Ruby - RUBY_VERSION, .ruby-version
    • 2.6.2 (default)
    • Any version that rvm can install.
  • Node.js - NODE_VERSION, .nvmrc, .node-version
    • 10 (default)
    • Any version that nvm can install.
  • Python - runtime.txt or Pipfile
    • 2.7 (default)
    • 3.5
    • 3.7
  • PHP - PHP_VERSION
    • 5.6 (default)
    • 7.2
  • Go - GO_VERSION
    • 1.12 (default)
  • Java
    • 8 (default)
  • Emacs
    • 25 (default)
  • Erlang
    • 21 (default)
  • Elixir
    • 1.7 (default)

その他の確認方法

また、URL先の情報も随時更新されていくと思うので、更新されたときのために別の方法も書いておく。Netlify上のBuild commandで ls -al /opt/buildhome/ を実行することで、内部のディレクトリを確認することが出来る。画像は実際にNetlify上でコマンドを実行したものになる。この場合、2.7と3.5と3.7が使えることになる。Ubuntu Xenial 16.04 (default) に載っているものと同じなので正しいと考えられる。

f:id:yoshitaku_jp:20200205150959p:plain

NetlifyでPythonのバージョンを変えるには

もともとPythonのバージョンを変更しようとしたときに起こったエラーではあるのだが、runtime.txtにバージョン情報を記述することで変更が可能となる。自分の場合は2.7と3.5と3.7しか使えないのに3.6を指定していた為起こったエラーであった。

root
|(色々)
└runtime.txt

runtime.txt中身

3.7

これだけで良い。

参考情報

先人が歩いてくれたおかげで解決がスムーズとなった。投稿日を見ると2年前後経っているため、リンクが切れていることもありブログを書いた。