Ubuntu18.04で環境構築に苦労した件


はじめに

この記事はOSを飛ばし(主にWindows)Ubuntuを調べながらならインストールできる方を対象とする(デュアルブートとかではない).また,基本的には言語設定は英語で行うこと.理由は,ディレクトリ名に日本語が入らないからだ(日本語で入れてもあとで変えられるらしいが自分で調べて).なぜかは,この記事に辿り着いた人にはわかることだから説明はしない.
本題だが,本記事はUbuntu18.04をクリーンインストールしたあとのことを記述していく.また,大学や社内のProxy環境下で開発をしているひとが対象だ.

Proxyが通るようにする

Ubuntuでは,パッケージ管理システムのaptを用いていろんなものをインストールする.通常はUbunntuをインストールしたあと,普通に使える.しかし,Proxy環境下では思うように使えない.そこで,viかnanoを使って,/etc/apt/apt.confに次のように記述する.そして,再起動する.すると,apt install <package>が使えるはずだ.

/etc/apt/apt.conf
Acquire::http::Proxy "http://<proxy_server>:<port>";
Acquire::https::Proxy "https://<proxy_server>:<port>";

しかし,これだけでは通らないコマンドがいくつか発生する.そこで.bashrcに以下をVimなど好きなエディタで追記する.追記後はsource ./.bashrcで反映を忘れずに.

./.bashrc
proxy=<proxy_server>:<port>
export http_proxy=http://$proxy
export HTTP_PROXY=$http_proxy
export https_proxy=$http_proxy
export HTTPS_PROXY=$http_proxy

CUDA10.2をインストール

CUDA10.2のインストールについてはこちらに丸投げする.が,公式サイトも参考にしたらよい.
ちなみに私は先にNVIDIA Driverをインストールしてしまったために何度もUbuntuの再インストールを繰り返した.CUDAをインストールするとNVIDIA Driverも一緒にインストールされる.親切だ.

Gitが使えるようにする

聡明なあなたは,すでにGitをインストールしていることだろう.しかし,Proxy環境下ではGitもまともに使えない.非常に腹立たしい.
というわけで,次のコマンドを実行しよう.

$ sudo apt update      # すでにしている人はしなくて良い
$ sudo apt install -y git # すでにしている人はしなくて良い
$ git config --global http.proxy http://<proxy_server>:<port>
$ git config --global https.proxy https://<proxy_server>:<port>

これでGitがProxy環境下で使える.Gitコマンドについてはここでは記述しない.

Python開発環境を構築

私は,Python開発環境はpyenv,pyenv-virtualenvとVSCodeで構築した.VSCodeについては本記事では触れない.

pyenvをインストール

次のコマンドを実行する.

$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv

pyenvを使えるようにPathを通す..bashrcに以下を追記する.追記後はsource ./.bashrcで反映を忘れずに.

./.bashrc
export PYENV_ROOT=$HOME/.pyenv
export PATH=$PYENV_ROOT/bin:$PATH
if command -v pyenv 1>/dev/null 2>&1; then
    eval "$(pyenv init -)"
fi

pyenv installはこのままではできないので次のコマンドを実行して必要なツールをインストールする.もともと入っているものもある.

$ sudo apt install -y gcc make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev

pyenv-virtualenvのインストール

次のコマンドを実行する.

$ git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv

pyenvのときと同様に.bashrcに以下を追記する.

./.bashrc
eval "$(pyenv virtualenv-init -)"

これでpyenvとpyenv-virtualenvが使えるはずだ.pyenvなどの使い方はこちらを参考にしてほしい.

あとがき

本記事は大学院生が研究で使った環境のメモ用なので参考になる人は少ないかもしれない.あと,研究の引き継ぎのメモも兼ねているので不親切な部分が多いが許してほしい.
ちなみに,私はいろんなエディタを使うので好きなエディタはない..bashrcの編集ではVimをいやいや使う(Vimerには申し訳ない).