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
関連記事
- VPS(Ubuntu/Debian)でRとPythonとJuliaの開発環境を作る: part1 - suzuna's memo
- VPS(Ubuntu/Debian)でRとPythonとJuliaの開発環境を作る: part3 - suzuna's memo
Rのインストール
この章は、UbuntuとDebianで入力するコマンドが異なります。
CRANのトップページに記載の"Download R for Linux"のリンクの通り、以下を実行してインストールします。UbuntuとDebianでリンクが異なりますので、使っている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を使える開発環境が整いました。お疲れ様でした。