Jupyterlabの導入
$ conda install jupyterlab
$ conda install pandas numpy scikit-learn seaborn matplotlib
$ conda install jupyterlab
$ conda install pandas numpy scikit-learn seaborn matplotlib
RStudioは統計解析のためのR言語を用いた解析を行うときに便利な統合解析環境 (IDE) であり、データ解析をしている際にも多用するプラットフォームである。NGSデータのバイオインフォマティクスのようなライフサイエンス分野の解析でも頻繁に使用されるプラットフォームだが、これまでRStudio Desktop版を主に利用してきた。比較的リソースが豊富なubuntuのlinuxマシンを利用したいのだが、実際の端末としては発表資料やオフィスソフトを使っているMacやWindowsなどを使いたいとも思う。それで、Desktop版ではなくubuntu機にserver版をインストールして、ゲストのbrowserからアクセスすることを考えた。対象マシンにはVS codeでssh接続し、主に公式の手順に則って作業を進めた。
基本的に公式のインストール手順の通りに進めていくことで実施できた。対象のマシンはubuntuなので、Debian10/Ubuntu20を選択した。
対象の環境には既にRがインストールされていたので、このステップは省略した。現在インストールされているのはR ver4.1.2だった。
R version 4.1.2 (2021-11-01) -- "Bird Hippie"
Copyright (C) 2021 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
端末で、以下のコマンドを実行しインストール作業を行なった。
$ sudo apt-get install gdebi-core
gdebi-coreについては、参考のリンクを見て調べた。
"gdebi を使うと、ローカルの deb パッケージをその依存関係を解決しながら インストールできます。apt は同じ動作をしますが、インストールできるのはリモート (http, ftp) にあるパッケージのみです。"
続けて、wgetで.debをダウンロードした。
$ wget https://download2.rstudio.org/server/bionic/amd64/rstudio-server-2023.03.1-446-amd64.deb
ダウンロード先のディレクトリに移動し、先ほどのgdebiを用いてインストールする。
$ sudo gdebi rstudio-server-2023.03.1-446-amd64.deb
インストールの最後で、Serverが起動したことが表示された。
● rstudio-server.service - RStudio Server
Loaded: loaded (/lib/systemd/system/rstudio-server.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2023-05-22 23:08:17 JST; 1s ago
Process: 6534 ExecStart=/usr/lib/rstudio-server/bin/rserver (code=exited, status=0/SUCCESS)
Main PID: 6535 (rserver)
Tasks: 4 (limit: 309319)
Memory: 4.1M
CPU: 670ms
CGroup: /system.slice/rstudio-server.service
└─6535 /usr/lib/rstudio-server/bin/rserver
May 22 23:08:17 XXXXX systemd[1]: Starting RStudio Server...
May 22 23:08:17 XXXXX systemd[1]: Started RStudio Server.
手元Macのsafariから以下のアドレスに対してアクセスすると、ブラウザでRStudioの画面が表示された。
http://{serverマシンのIPアドレス}:8787/
ubuntuマシンのuser nameとpasswordを入力するとログインすることができた。
今回のRStudio serverの導入により、RStudioのインターフェイスは日常使用するPCから利用し、かつ計算は比較的スペックが高いubuntuのマシンを使うことが可能になった。この方法はDesktop版よりも便利なような気がする。解析結果のreportやコミュニケーションのことを考えると、officeなども完備している手元のパソコンを使いたいが、計算自体は多少重めの場合など、serverを使った方が便利に進めることができるだろう。
前回、こんがらがってよく分からなくなっていた古いanaconda3環境を一度アンインストールして、新しくminiconda3で環境構築を実施することにした。かれこれ4年間ほどcondaを利用してきたが、その間に所属も変わり、ライセンスの変更でconda-forgeを利用することになるなど、色々と変遷はあるが、今しばらくはpython環境はcondaで構築する状況が続くように思う。
今回環境構築するのは、自分のsmall projectに使っているubuntu上である。
$ cat /etc/issue
Ubuntu 20.04.6 LTS \n \l
自分の環境下のanaconda3をアンインストールした。
https://tyoshidalog.blogspot.com/2023/05/ubuntuanaconda3.ht
ダウンロード後、ハッシュ値の確認を実施する。
$ cat sha256sum.check.txt
aef279d6baea7f67940f16aad17ebe5f6aac97487c7c03466ff01f4819e5a651 Miniconda3-latest-Linux-x86_64.sh
$ sha256sum -c sha256sum.check.txt
Miniconda3-latest-Linux-x86_64.sh: OK
# hash値を書いてあるファイルは、"hash"+"スペース"+"ファイルパス"になっている。
インストールを実施する。home下にminiconda3のディレクトリができる。
$ bash ./Miniconda3-latest-Linux-x86_64.sh
新しいターミナルを立ち上げると、プロンプトが(base)になっている。
$ conda list
# Name Version Build Channel
_libgcc_mutex 0.1 main
_openmp_mutex 5.1 1_gnu
boltons 23.0.0 py310h06a4308_0
brotlipy 0.7.0 py310h7f8727e_1002
bzip2 1.0.8 h7b6447c_0
ca-certificates 2023.01.10 h06a4308_0
certifi 2022.12.7 py310h06a4308_0
cffi 1.15.1 py310h5eee18b_3
charset-normalizer 2.0.4 pyhd3eb1b0_0
conda 23.3.1 py310h06a4308_0
conda-content-trust 0.1.3 py310h06a4308_0
conda-package-handling 2.0.2 py310h06a4308_0
conda-package-streaming 0.7.0 py310h06a4308_0
cryptography 39.0.1 py310h9ce1e76_0
idna 3.4 py310h06a4308_0
jsonpatch 1.32 pyhd3eb1b0_0
jsonpointer 2.1 pyhd3eb1b0_0
ld_impl_linux-64 2.38 h1181459_1
libffi 3.4.2 h6a678d5_6
libgcc-ng 11.2.0 h1234567_1
libgomp 11.2.0 h1234567_1
libstdcxx-ng 11.2.0 h1234567_1
libuuid 1.41.5 h5eee18b_0
ncurses 6.4 h6a678d5_0
openssl 1.1.1t h7f8727e_0
packaging 23.0 py310h06a4308_0
pip 23.0.1 py310h06a4308_0
pluggy 1.0.0 py310h06a4308_1
pycosat 0.6.4 py310h5eee18b_0
pycparser 2.21 pyhd3eb1b0_0
pyopenssl 23.0.0 py310h06a4308_0
pysocks 1.7.1 py310h06a4308_0
python 3.10.10 h7a1cb2a_2
readline 8.2 h5eee18b_0
requests 2.28.1 py310h06a4308_1
ruamel.yaml 0.17.21 py310h5eee18b_0
ruamel.yaml.clib 0.2.6 py310h5eee18b_1
setuptools 65.6.3 py310h06a4308_0
six 1.16.0 pyhd3eb1b0_1
sqlite 3.41.1 h5eee18b_0
tk 8.6.12 h1ccaba5_0
toolz 0.12.0 py310h06a4308_0
tqdm 4.65.0 py310h2f386ee_0
tzdata 2023c h04d1e81_0
urllib3 1.26.15 py310h06a4308_0
wheel 0.38.4 py310h06a4308_0
xz 5.2.10 h5eee18b_1
zlib 1.2.13 h5eee18b_0
zstandard 0.19.0 py310h5eee18b_0
今回の環境は商業活動に関係のない個人的なものだが、商用の利用では、anacondaのデフォルトチャンネルの使用が有償化されているので、conda-forgeなどの利用を検討した方が良い。これらの情報については、下記のリンクでわかりやすい説明を見つけることができる。
Anacondaの有償化に伴いminiconda+conda-forgeでの運用を考えてみた
conda-forgeとは?主な使い方や活用のポイントをご紹介
https://github.com/conda-forge