いずみのメモ帳

見たこと感じたことを書き残しておきたい。

【R】Ubuntu 20.04 LTSに最新版のRをインストールする

Ubuntu 20.04 LTSに最新版のRをインストールした時の備忘録。

ダウンロード元のミラーサイトsources.listに追加

以下の文字列を/etc/apt/sources.listの末尾に追記。

# R package
deb https://cran.rstudio.com/bin/linux/ubuntu focal-cran40/

ダウンロード元の公開鍵を取得

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
Executing: /tmp/apt-key-gpghome.dnJ3ZbrD7m/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
gpg: 鍵サーバからの受信に失敗しました: 接続がタイムアウトしました

私の環境では、上記のコマンドだと公開鍵の取得に失敗してしまったので、代わりに下記のコマンドを実行。

$ gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
gpg: 鍵51716619E084DAB9: 公開鍵"Michael Rutter <marutter@gmail.com>"をインポートしました
gpg: 処理数の合計: 1
gpg:               インポート: 1

公開鍵の取得に成功したら、下記のコマンドで公開鍵をaptに登録。

$ gpg -a --export E298A3A825C0D65DFD57CBB651716619E084DAB9 | sudo apt-key add -

Rのインストール

$ sudo apt update
$ sudo apt install r-base

インストール完了後にRのコンソールを開くと、Rのバージョン4.0.4がインストールされたことが確認できた。

R version 4.0.4 (2021-02-15) -- "Lost Library Book"
Copyright (C) 2021 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

【Python】nohupコマンドで実行した時に、標準出力がnohup.outに逐次出力されない

問題

nohupコマンドを用いてPythonスクリプトをバックグラウンド実行すると、標準出力はnohup.outにログとして出力される。 しかし、以下のようにして実行すると、スクリプト実行中に逐次出力される(処理の途中で出力される)はずの出力は、スクリプトの全ての処理が終了するまで(或いは何らかの理由で処理が止まるまで)nohup.outに書き込まれない。

nohup python3 <filename>.py &

解決策

以下のように-uオプションを付けると、標準出力がnohup.outに逐次出力される。

nohup python3 -u <filename>.py &