Skip to main content

VPS(Ubuntu/Debian)でRとPythonとJuliaの開発環境を作る: part2

はじめに

概要

VPS (Ubuntu/Debian) でのRとPythonとJuliaの開発環境の作り方です。このpart2では、R, Python (Miniconda), Julia, Gitの設定方法を書きます。

環境

  • VPS
    • ConoHa VPS(メモリ1GB)
    • Linux
      • Ubuntu: Ubuntu 22.04.1 LTS / Debian: Debian 11
    • R 4.2.1
    • Miniconda 4.12.0 + Python 3.10.4
    • Julia 1.7.3
    • Git 2.34.1
  • ローカル環境
    • Windows 10 Home

関連記事

Rのインストール

この章は、UbuntuとDebianで入力するコマンドが異なります。

CRANのトップページに記載の"Download R for Linux"のリンクの通り、以下を実行してインストールします。UbuntuDebianでリンクが異なりますので、使っているLinuxのディストリビューションに合わせてリンクを参照します。

Ubuntu

sudo apt update -qq
sudo apt install --no-install-recommends software-properties-common dirmngr
wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc | sudo tee -a /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc
sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/"
sudo apt install --no-install-recommends r-base

Debian

sudo apt install software-properties-common
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key "95C0FAF38DB3CCAD0C080A7BDC78B2DDEABC47B7"
sudo add-apt-repository "deb http://cloud.r-project.org/bin/linux/debian bullseye-cran40/"

sudo apt update
sudo apt install r-base r-base-dev

# どちらか片方(線形代数の計算を高速にするライブラリ)
sudo apt install libatlas3-base
sudo apt install libopenblas-base

UbuntuとDebianのどちらでも、終わったら、Rと入力してRの対話環境が出てくればインストールできています。

install.packages()でライブラリをインストールする際、パッケージがないためにインストールに失敗することがあります。私の環境では少なくともinstall.packages("tidyverse")でこのエラーを確認しました。同じエラーはRでパッケージがインストールできない時の対処法メモでも確認しました。

install.packages()する前に、以下のコマンドでパッケージを入れておくといいと思います。以下のaptのパッケージは、tidyverseのインストールで必要なもの以外に、他のパッケージのインストールで必要なものも含みます(何のパッケージで必要だったか忘れました…)。

sudo apt install build-essential libcurl4-openssl-dev xorg-dev libssl-dev libxml2-dev

Python (Miniconda) のインストール

Miniconda公式のダウンロードページより、インストールしたいバージョンのMinicondaを選び、ダウンロードリンクのURLをローカルにコピーしておきます。ここでは最新版の"https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh"をインストールすることにします。

なお、Linuxのインストーラーはx86やARMなどプラットフォームごとに分かれています。使っているVPSのプラットフォームはuname -mで調べられます。以下、x86の前提で進めていきます。

適当なディレクトリにインストーラーのシェルファイルをwgetでダウンロードして、bashでインストーラーを実行します。ここではユーザーディレクトリ直下にdownloadsディレクトリを作り、そこにダウンロードすることにします。

cd ~
mkdir downloads
cd downloads

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
# "Miniconda3-latest-Linux-x86_64.sh"は上のwgetのファイル名と合わせる
bash Miniconda3-latest-Linux-x86_64.sh

次に~/.bashrcをnanoなどの適当なエディタで開き、最終行以降に以下の2行を書いて上書き保存します。私の環境では1行目は既に~/.bashrc内に書いてあったので、2行目だけを記載しました。~/.bashrcがなければtouch ~/.bashrcで作成してください。

export PATH=~/miniconda3/bin:$PATH
source ~/miniconda3/etc/profile.d/conda.sh

1行目はminicondaのパスを通しています。2行目はconda activateのエラー対策です。例えばこの辺をご覧ください。(conda activate の CommandNotFoundError への対処方法 - Qiita

上書き保存したら以下を実行して、~/.bashrcの内容を読み込みます。これを実行しないと設定内容が反映されません。

source ~/.bashrc

ターミナルからpythonと打ってPythonの対話環境が出れば成功です。

Juliaのインストール

Download Juliaより、インストールしたいバージョンのインストーラーのURLをローカルにコピーしておきます。

適当なフォルダにインストーラーをダウンロードしてから解凍します。ここではユーザーディレクトリ直下にjulia173というディレクトリを作ってそこに解凍しています。

cd ~/downloads
wget https://julialang-s3.julialang.org/bin/linux/x64/1.7/julia-1.7.3-linux-x86_64.tar.gz

mkdir ~/julia173
tar zxvf ~/downloads/julia-1.7.3-linux-x86_64.tar.gz -C ~/julia173

終わったら、Juliaにパスを通すため、最後に~/.bashrcの最終行に次の1行を追記して上書き保存します。julia173/julia-1.7.3の部分は自分の環境のJuliaのディレクトリに変えてください。

export PATH="$PATH:~/julia173/julia-1.7.3/bin"

上書き保存したらMinicondaの場合と同じくsource ~/.bashrcを実行してください。その後juliaと入力してJuliaの対話環境が出れば成功です。

Gitのインストール+GitHubをsshで使えるようにする

まずaptでGitをインストールします。

sudo apt install git

次に秘密鍵・公開鍵を作り、GitHubに登録します。

まず鍵の作成です。VPSから以下を実行します。

cd ~/.ssh
# 700のパーミッションを設定していない場合は以下で設定する
# chmod 700 ~/.ssh
# -f以降は好きなファイル名にする。これを入力した後、いくつか質問されるが全部Enterを押して大丈夫
ssh-keygen -t ed25519 -f github_conoha

~/.sshに、github_conoha(秘密鍵)、github_conoha.pub(公開鍵)の2つのファイルができています。このうち公開鍵のgithub_conoha.pubをnanoか何か適当なエディタで開き、中身を全選択してクリップボードにコピーします。

そうしたら次に公開鍵をGitHubに登録します。ローカルPCからGitHubを開き、settings > sshから先程の公開鍵を貼り付けます。

再度VPSに戻り、~/.ssh/configに以下を記載して保存すればOKです。(~/.ssh/configが存在しない場合は、touch ~/.ssh/configで作ってください)3行目は先程作った秘密鍵のパスを指定します。

Host github.com
    HostName github.com
    IdentityFile ~/.ssh/github_conoha
    User git

保存したら、以下を実行します。

ssh -T git@github.com

Hi [Your Username]! You've successfully authenticated, but GitHub does not provide shell access.と表示されればGitHubとssh接続ができています。

ここまで終われば、R, Python, Julia, Gitを使える開発環境が整いました。お疲れ様でした。

参考