ここではDigitalOceanのクラウドサーバー上にPython環境を用意する方法を説明します。クラウドサーバーにPython環境を用意できれば、自分の作成したPythonスクリプトを24時間クラウド上で動かし続けて何か解析することも、あるいは定期的に好きな処理をさせることも思いのままにできます。
DigitalOceanについては以下をご覧ください。
[toc]DigitalOceanのインスタンスを開始する
DigitalOceanのアカウントを作成する
まずは、DigitalOceanのアカウントを作成しましょう。以下の紹介リンクから登録していただくと、2カ月有効な$100分の無料クーポンがついてくるので、こちらからの登録がお勧めです。
1カ月当たり$5で最低限の機能が使えるので、よほどヘビーに使わない限り$100 (=約10000円)の無料クーポンを使い切ることはないですし、実質2カ月無料ということになります。クラウド系のサービスが初めての方も是非一度試してみてどうするか考えてみてはどうでしょうか。
Droplet(インスタンス)を作成する
DigitalOceanのインスタンスはDropletと呼ばれています。DigitalOceanに登録したらまずはDropletを作成してみましょう。
Dropletは画面上の「Create」からDropletを選択して作成します。ここであらかじめDockerをインストールしたりWordPressをインストールしたりなども選べますが、ここでは素の状態のUbuntu 20.04で作成しておきます。
続いてプランやデータセンターの場所などを選んでいきましょう。プランは後から上位プランに変更することはできるので、特に予定がなければ最も安いプランで問題ないと思います。また、まだ日本のデータセンターは用意されていないので、一番近いシンガポールのデータセンターを選んでおけばよいと思います。
詳細は以下の記事もご参照くださ認証方式はSSHかパスワードによる認証かを選ぶことができますが、SSHの方がより安全で推奨されています。SSHの設定は簡単にできるので、次の記事をご覧ください。
SSH接続ではなくパスワードによる認証も可能で、その場合はブラウザのコンソール画面からパスワードを用いてサーバーのroot権限にログインすることができます。ただし、セキュリティに関してはSSHよりもやや劣るのと、scpコマンドを使ってローカルからサーバー側にファイルをアップロード、ダウンロードするのが難しくなるというデメリットがあります。
「Choose a hostname」でDropletの名前を決める必要があるので、覚えやすい名前にしておきましょう。ここでは、「MyDroplet-Test」という名前で作成してみます。
バックアップをどうするかの確認もありますが、有料サービスなのでお好みで決めてください。
以上で、「Create Droplet」をクリックしてドロップレットを作成します。これでUbuntu 20.04のクラウドサーバーを用意することができ、IPアドレスはDigitalOceanのダッシュボード上から確認できます。このサーバーにアクセスする場合はSSH接続や、パスワード認証によるコンソールから接続することができます。
Python環境の準備
それでは作成したクラウドサーバーにPython環境を用意してみましょう。サーバーに接続して、まずシステムを更新・アップグレードしておきます。
sudo apt update
sudo apt -y upgrade
UbuntuにはPythonがあらかじめインストールされているので、そのバージョンを確認しておきましょう。
python3 -V
Python 3.8.10
ここではPython 3.8.10がインストールされていることが分かりました。なお、UbuntuにはPythonはデフォルトでインストールされていますが、パッケージを管理するためのpipはインストールされていないので、次のようにしてpipをインストールしておきます。
sudo apt install -y python3-pip
必要なパッケージをインストールする
まだこのままではPythonの基本的なパッケージがインストールされていないので、pipを用いて次のように必要なものをインストールしましょう。以下ではNumPyやPandas、matplotlibをインストールしていますが、同様にして必要なパッケージをインストールしてください。
pip3 install numpy
pip3 install pandas
pip3 install matplotlib
日本語フォントをインストールする
サーバー版のUbuntuには日本語フォントはインストールされていないので、例えば「matplotlibで日本語フォントを埋め込んだグラフを出力する」ような場合には日本語フォントインストールしておく必要があります。Ubuntuで代表的なフォントには「Noto Sans CJK JP」などがあり、次のコマンドでインストールできます。
sudo apt install fonts-noto-cjk
詳細は以下の記事もご覧ください。
ここでインストールした日本語フォントはmatplotlibのスクリプト上で以下のように指定して表示させることができます。
plt.rcParams['font.family'] = 'Noto Sans CJK JP'
なお、日本語フォントをインストールしてもうまく表示できない場合はmatplotlib上のキャッシュを削除するとうまくいく場合があります。以下でmatplotlibのキャッシュディレクトリに移動して、
cd ~/.cache/matplotlib/
そこにある「fontlist-v330.json」を削除してみてください。
DigitalOceanの公式チュートリアル
DigitalOcean上でのPythonの環境構築方法はDigitalOceanの公式チュートリアルでも用意されています。詳細は以下をご覧ください。
コメント