さくらのレンタルサーバにはデフォルトで Python2 系のみ入っているのですが、残念ながらPython2 は 2020 年にサポートが終了していてもう推奨されていません。
というか Python2 だ Python3 だ以前にレンタルサーバーの Python で色々やろうという考えが半ば間違いみたいな部分もありますが。笑
▶︎【7社比較】レンタルサーバーの大クセ Python は本当は使いづらい!?
▶︎レンタルサーバーで Python は茨の道!VPS が楽得でおすすめ
とはいえいろんな理由でまださくらのレンタルサーバで頑張りたい方のために、Python3 系をインストールする方法を紹介します。
さくらのレンタルサーバに Python3 をインストールする
では本編、さくらのレンタルサーバーに Python3 をインストールする方法を案内します。
ちなみに私が使っているのはさくらのレンタルサーバ スタンダードで、ローカルは Mac で作業します。
- ssh でさくらレンタルサーバにログイン
- ダウンロード用のフォルダを作成
- wget でファイルをダウンロード
- ファイルを解凍する
- インストール
- パスを通す
- 設定を反映
- パスが通ったことを確認して完了
- さくらのレンタルサーバ以外の選択肢
1. ssh でさくらレンタルサーバにログイン
まずはターミナルを立ち上げ、ssh でさくらレンタルサーバにログインします。
Last login: Sun Oct 11 10:43:12 on ttys000 % ssh XXXXXX@XXXXXX.sakura.ne.jp XXXXXX@XXXXXX.sakura.ne.jp's password:
2. ダウンロード用のフォルダを作成
ファイルをダウンロードする前に、ダウンロード用のフォルダを作っておきます。下記のコマンドで「work」フォルダとその配下に「python3」フォルダを作成します。
% mkdir -p ~/work/python3
FTPクライアントで見てみると下記の様に各フォルダが作成されているのが確認できます。

3. wget でファイルをダウンロード
% cd ~/work/python3 % wget --no-check-certificate https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz
ファイルがダウンロードされ、下記の様に入力待ちになれば無事ダウンロード完了です。
% wget --no-check-certificate https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz --2020-10-11 12:39:03-- https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz Resolving www.python.org... 151.101.88.223, 2a04:4e42:15::223 Connecting to www.python.org|151.101.88.223|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 26724009 (25M) [application/octet-stream] Saving to: 'Python-3.9.0.tgz' Python-3.9.0.tgz 100%[=====================>] 25.49M 43.9MB/s in 0.6s 2020-10-11 12:39:03 (43.9 MB/s) - 'Python-3.9.0.tgz' saved [26724009/26724009] %
念のため覗いてみると、先ほど作成した「python3」フォルダのなかに「Python-3.9.0.tgz」のファイルがダウンロードされているのが分かります。

4. ファイルを解凍する
% tar zxf Python-3.9.0.tgz
ファイルが解凍され、元々ダウンロードした圧縮ファイルとは別に「Python-3.9.0」という名前のフォルダが作成されています。

5. インストール
解凍されたフォルダ「Python-3.9.0」に移動します。
% cd ./Python-3.9.0
次に ./configure を実行しますが、その際 prefix を使ってインストールするディレクトリを指定します。
% ./configure --prefix=$HOME/local/python/ --with-system-ffi LDFLAGS="-L $HOME/local/lib/" CPPFLAGS="-I $HOME/local/include/"
*--with-system-ffi 以降の部分は無くても Python3 のインストールはできますが、後々 _ctypes の問題があったので追記しました。
実行するとプロセスが走ってドバドバとターミナルに表示されますが、下記が表示されて入力待ちの状態になったら完了です。
creating Modules/Setup.local creating Makefile
「make」を実行します。
% make
しばらくプロセスが走るので入力待ちになるまで待ちます。次に「make install」を実行します。
% make install
またプロセスが走るので最後下記の様な表示が出て入力待ちになるまで待ちます。
Installing collected packages: setuptools, pip WARNING: The script easy_install-3.9 is installed in '/home/XXXXXX/local/python/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. WARNING: The scripts pip3 and pip3.9 are installed in '/home/XXXXXX/local/python/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. Successfully installed pip-20.2.3 setuptools-49.2.1 %
実は上のログに2箇所「WARNING」として警告が表示されているのですが、その内容が以下の通り。
WARNING:スクリプトeasy_install-3.9は、「PATH」にない「/home/XXXXXX/local/python/bin」にインストールされています。このディレクトリを「PATH」に追加することを検討してください。 WARNING:スクリプトpip3およびpip3.9は、「PATH」にない「/home/XXXXXX/local/python/bin」にインストールされています。このディレクトリを「PATH」に追加することを検討してください。
これは後ほど .cshrc ファイルを編集して解決します。
local > python というディレクトリが作られ、さらにその配下に様々なフォルダが作られています。

6. パスを通す
python3 と pip3 のインストール自体は完了しましたが、この状態だとまだ python3 や pip3 と言ったコマンドを直接使うことができません。いわゆる「パスが通っていない」状態です。「which」コマンドを実行しても下記の通りエラーが返ってきます。
% which python3 python3: Command not found. % which pip3 pip3: Command not found.
python3 と pip3 が両方とも「$HOME/local/python/bin」にインストールされている状態です。
.cshrc ファイルを編集することでパスを通しますが、この作業をする前に必ず .cshrc のバックアップをとっておきましょう。
% cd ~/ % vi .cshrc
.cshrc の内容がターミナルに表示されます。
# $FreeBSD: src/share/skel/dot.cshrc,v 1.14.6.1 2008/11/25 02:59:29 kensmith Exp $ # # .cshrc - csh resource script, read at beginning of execution by each shell # # see also csh(1), environ(7). # alias h history 25 alias j jobs -l alias la ls -a alias lf ls -FA alias ll ls -lA # A righteous umask umask 22 set path = (/sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin $HOME/bin) setenv EDITOR vi setenv PAGER more setenv BLOCKSIZE K setenv PKG_DBDIR ~/db/pkg if ($?prompt) then # An interactive shell -- set some stuff up set filec set history = 100 set savehist = 100 set mail = (/var/mail/$USER) if ( $?tcsh ) then bindkey "^W" backward-delete-word bindkey -k up history-search-backward bindkey -k down history-search-forward endif endif
このファイルの最後に「set path = ($path $HOME/local/python/bin)」を追記したいのですが、手順が少しややこしいので下記の記事などを参考にしつつ行ってください。
以下の様に、ファイルの一番最後に一行だけ追記しました。
bindkey "^W" backward-delete-word bindkey -k up history-search-backward bindkey -k down history-search-forward endif endif set path = ($path $HOME/local/python/bin)
7. 設定を反映
.cshrc で変更した内容を反映させます。
% source ~/.cshrc % rehash
8. パスが通ったことを確認して完了
パスを通す前はエラーが返ってきた「which」コマンドですが、今回はきちんと python3、pip3 のパスが表示されます。
% which python3 /home/XXXXXX/local/python/bin/python3 % which pip3 /home/XXXXXX/local/python/bin/pip3 %
バージョン情報もきちんと表示されます。
% python3 --version Python 3.9.0 % pip3 --version pip 20.2.3 from /home/XXXXXX/local/python/lib/python3.9/site-packages/pip (python 3.9) %
最後に圧縮ファイルのダウンロードに使ったフォルダとファイルを削除して完了です。
% rm -r ~/work/python3
9. さくらのレンタルサーバ以外の選択肢
冒頭でも触れましたが、Python プログラミングにレンタルサーバーは向いていません。
レンタルサーバーと VPS 両方試した上で VPS をお勧めしますので、下記の記事も参考にしていただければと思います。
▶︎【7社比較】レンタルサーバーの大クセ Python は本当は使いづらい!?
▶︎レンタルサーバーで Python は茨の道!VPS が楽得でおすすめ
と同時に、さくらのレンタルサーバーで Python3 をインストールしたみなさんであればもう下記の記事まで突っ走っても良いかもしれないとも思っています。
▶︎さくらレンタルサーバーでスクレイピング定期実行 & DB 保存
熱意に拍手を送ります。
有難うございます。
こちらの手順で全く問題なくpython3をさくらインターネットレンタルサーバーにインストールできました。
すごくわかりやすく、大変助かりました! ありがとうございます!