【さくらのレンタルサーバー】pyenvでPython3系を使えるようにする




さくらインターネットのPythonはデフォルトでいまだに2系がインストールされており、3系の選択肢はありません。
いまどき2系を使うこともないので3系で利用する方法について調べたことをまとめます。

実現方法

今回はPythonを直接インストールするのではなく、pyenvを利用して任意のPythonバージョンをインストールできるようにする方法を採用しました。

Python3系インストール手順

(1)サーバーにssh接続

(2)シェルをbashに変更

さくらインターネットはデフォルトcshなので運用しやすいようにbashに切り替えます。
※すでにcshで運用している機能がある場合はshellの切替は行わず適宜読み替えてください。

chsh -s /usr/local/bin/bash

(3).bash_profileを作成

vim ~/.bash_profile
# 追加内容は以下の3行
if [ -f ~/.bashrc ]; then
  . ~/.bashrc
fi

(4)ssh接続を一度切断し、再度接続

(5)shellが切り替わっていることを確認

if [ -f ~/.bashrc ]$ echo $SHELL
# 以下のようにbashが表示されればOK
/usr/local/bin/bash

(6)pyenvをインストール

git clone https://github.com/pyenv/pyenv.git ~/.pyenv

(7)~/.bash_profileを以下のように編集

if [ -f ~/.bashrc ]; then
  . ~/.bashrc
fi
# ここから下を追加
export PYENV_ROOT=$HOME/.pyenv
export PATH=$HOME/.pyenv/shims:$PYENV_ROOT/bin:$PATH
export TMPDIR=$HOME/tmp
eval "$(pyenv init -)"
pyenv rehash

(8)ssh接続を一度切断し、再度接続

(9)pyenvが利用できることを確認

$ pyenv --version
pyenv 2.0.4-8-gd209e06

(10)任意のバージョンのPythonをインストール

pyenv install --list
pyenv install 3.7.11
pyenv global 3.7.4
$ which python
/home/[USER_ID]/.pyenv/shims/python
$ python --version
Python 3.7.11

※Pythonのインストールは環境にもよると思いますが数分かかることがあります。
 「Installing Python-3.7.11…」でしばらく止まります。
※2021/8/18現在、私が利用しているサーバーだと3.8.11はインストール時にエラーが出たので3.7系をインストールしました。

参考サイト

さくらのレンタルサーバーにpyenvを構築する方法 https://qiita.com/umekichinano/items/11d87902883871981ef4 →基本的な設定方法はこのページを参考にしています。  ありがとうございます。 pythonのバージョンが切り替わらない https://qiita.com/mckyhrs/items/94a2db3506287df0420e →pyenvでPythonのバージョンが切り替わらなかったとに参考になりました。