trsing’s diary

勉強、読んだ本、仕事で調べたこととかのメモ。

WSL2でUbuntuでpyenv+pipenvでVSCode+Pythonでjupyter notebookっぽい開発環境構築

目標

  1. Windows上でUbuntuにpyenv+pipenvでPython環境を構築する
  2. 上記に加えVSCodeでJupyter notebookっぽく使えるようにする1

f:id:trsing:20210418174056p:plain
こんな感じ

手順

WSL2導入~VSCode導入まで

次の記事がわかりやすい

qiita.com

注意点

  • pyenv install X.X.Xをする前にliblzma-devを導入する(apt install liblzma-dev)。pandasを使う場合に必要2
  • 環境変数(PYENV_ROOT,PATH)は.bash_profileで設定する方が行儀が良いらしい3

残り作業

  1. 作業フォルダで仮想環境構築(pipenv shell/pipenv --python 3)
  2. ipykernelを導入(pipenv install ipykernel)
  3. VSCodeで作業フォルダを開く
  4. VSCodeinterpreterを設定する(必要なら。自分の場合は自動で設定してくれた)
  5. jupyterのinterpreterを設定する(必要なら。自分の場合は自動で設定してくれた)

あとは適当な感じでご自由に

f:id:trsing:20210418175941p:plain
VSCodeinterpreter設定入口

f:id:trsing:20210418180038p:plain
jupyterのinterpreter設定入口

注意点

  • VSCodeで作業フォルダ以外を開いた場合interperterの設定が面倒になる。pipenvがフォルダごとに仮想環境を作るみたいなのでそれはそう(あまりよくわかっていない)。
  • jupyterでなんかインストールしてねえぞエラーが出てもVSCode立ち上げなおしたりubuntuを再起動したりしたら出なくなったりした。エラー無視しても問題なかったりした。なんやねんこいつ。

その他メモ書き

作業用ユーザー作成、sudoグループに追加

ubuntuにrootでログインして次のコマンドを実行

adduser <username>
gpasswd -a <username> sudo

default userの切り替え

windowspowershellを立ち上げて次のコマンドを実行

ubuntu2004 config --default-user <username>

指定したユーザーでログイン

windowspowershellを立ち上げるて次のコマンドを実行

wsl -u <username>

ubuntuシャットダウン(他も全部巻き込み)

windowspowershellを立ち上げて次のコマンドを実行

wsl --shutdown

設定はできてるはずなのに動かない場合

とりあえずubuntu再起動だ

proxyの設定4

次の記事を参考にするとよい。

qiita.com

とりあえず.bashrc環境変数http_proxyhttps_proxyの設定をするようにした5

echo 'export http_proxy="http://xxx.xxx.xxx.xxx:8080"' >> .bashrc
echo 'export https_proxy="http://xxx.xxx.xxx.xxx:8080"' >> .bashrc

作業用ユーザーからsudo apt ~するのでapt.confの設定もしておいた。


  1. 参考

  2. Variable(DataFrame)Data Viewerで覗いたときにPandasがないよとエラーが出た。ググっても何もわからん……してるうちにさらに壊れたのかimport pandasだけでエラーが出るようになったたため原因に気づいた。参考

  3. .bash_profaileはログイン時、.bashrcはシェル立ち上げごとに実行されるため(ログイン時にも実行される)

  4. 会社でなんかしようとすると毎回はまる…

  5. 追記(>>)じゃなくて上書き(>)しちゃってあわあわしてた。慌てず騒がず落ち着いて元ファイルからコピーすれば良い(cp /etc/skel/.bashrc ~)。参考