📚
Ubuntu20.04をインストールしたらいつもやること Docker/pyenv/Python AI開発環境構築/git利用まで
いつも面倒なので自分のためにもまとめてみました。
1. English(US)版をインストール
日本語版でもいいのですが、英語版の方がエラーコードを検索したときに情報が多いのでOSは英語版を好んで使っています。
2. とりあえずaptをアップデート(必須)
sudo apt update && sudo apt upgrade -y
3. (個人的に)よく使うモジュールをインストール
sudo apt -y install make gcc curl git vim
4. WiFiの設定
これは言わずもがなです。適宜ググって設定してみてください。
5. sshの設定
手元のMacBook Airからssh接続して作業することが多いので、個人的には早めにやりたい。
sudo apt -y install openssh-client openssh-server
6. 認証鍵でのssh接続
こちらに詳しく書いています。
7. .vimrcの作成
自分がいつも使っている設定コード↓
" setting
"文字コードをUFT-8に設定
set encoding=utf-8
" バックアップファイルを作らない
set nobackup
" スワップファイルを作らない
set noswapfile
" 編集中のファイルが変更されたら自動で読み直す
set autoread
" バッファが編集中でもその他のファイルを開けるように
set hidden
" 入力中のコマンドをステータスに表示する
set showcmd
" インサートモードでdeleteキーを使えるように
set nocompatible
set whichwrap=h,l
set backspace=indent,eol,start
" 見た目系
" 行番号を表示
set number
" 現在の行を強調表示
set cursorline
" 現在の行を強調表示(縦)
set cursorcolumn
" 行末の1文字先までカーソルを移動できるように
set virtualedit=onemore
" インデントはスマートインデント
set smartindent
" ビープ音を可視化
set visualbell
" 括弧入力時の対応する括弧を表示
set showmatch
" ステータスラインを常に表示
set laststatus=2
" コマンドラインの補完
set wildmode=list:longest
" 折り返し時に表示行単位での移動できるようにする
nnoremap j gj
nnoremap k gk
" シンタックスハイライトの有効化
syntax enable
" Tab系
" 不可視文字を可視化(タブが「▸-」と表示される)
set list listchars=tab:\▸\-
" Tab文字を半角スペースにする
set expandtab
" 行頭以外のTab文字の表示幅(スペースいくつ分)
set tabstop=2
" 行頭でのTab文字の表示幅
set shiftwidth=2
" 検索系
" 検索文字列が小文字の場合は大文字小文字を区別なく検索する
set ignorecase
" 検索文字列に大文字が含まれている場合は区別して検索する
set smartcase
" 検索文字列入力時に順次対象文字列にヒットさせる
set incsearch
" 検索時に最後まで行ったら最初に戻る
set wrapscan
" 検索語をハイライト表示
set hlsearch
" ESC連打でハイライト解除
nmap <Esc><Esc> :nohlsearch<CR><Esc>
" 前回のカーソル位置を記憶
augroup vimrcEx
au BufRead * if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal g`\"" | endif
augroup END
8. fishのインストール
sudo apt-add-repository ppa:fish-shell/release-3
sudo apt update
sudo apt -y install fish
which fish
/usr/bin/fish
デフォルトのshellをfishに変更する。Login Shellを聞かれるので、上記で得られた/usr/bin/fish
を入力する。
chsh
Password:
Changing the login shell for yukik
Enter the new value, or press ENTER for the default
Login Shell [/bin/bash]: /usr/bin/fish
curl -sL https://git.io/fisher | source && fisher install jorgebucaran/fisher
sudo apt -y install fonts-powerline
fisher install oh-my-fish/theme-bobthefish
こうするとプロンプトがいい感じになります。
9. Python実行環境を構築
pyenvによるPython環境構築とDockerによるPython環境構築の2通りを以下に書いてみます。どちらでもかまいませんが、用途や環境によって最適な方を選んでください。
1. pyenvによるPython環境構築
必要なモジュールをあらかじめインストールします。
sudo apt install -y build-essential \
libssl-dev \
libffi-dev \
zlib1g-dev \
libbz2-dev \
libreadline-dev \
libsqlite3-dev \
llvm \
libncurses5-dev \
xz-utils \
tk-dev \
libxml2-dev \
libxmlsec1-dev \
liblzma-dev
次に、git で pyenv をダウンロードする。
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
.bashrc に pyenv の設定を書いておきます。
export PYENV_ROOT="$HOME/.pyenv"
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
fishを使う場合は、~/.config/fish/config.fish
に以下を追記します。
set -x PYENV_ROOT $HOME/.pyenv
set -x PATH $PYENV_ROOT/bin $PATH
pyenv init - | source
再読み込みします。
bashの場合:
bash
fishの場合:
fish
これで、
pyenv -v
Output
pyenv 2.3.18-3-g578c7507
と出れば成功です。
2. DockerによるPython環境構築
このパートは長すぎるので以下の記事に分けました。GPUあり/なしに分けてDockerでPython環境を構築する方法を書いているので、ぜひ参考にしてみてください。
10. GitHubに認証鍵を置く
gitをインストールしていたとしても、初期状態ではgit clone
すらできません。gitをまともに使えるようにするため、以下の手順でGitHubに認証鍵を置いて設定しましょう。
- ssh-keygen
- 公開鍵をGitHub上に置く
-
~/.ssh/config
を設定
Discussion