Closed3
NeovimでML開発

目標
- NeovimでML開発を行いたい
- JupyterNotebookの実行
- Pythonファイルの実行
- ML開発として想定しているもの
- Kaggle
- MLリポジトリ(e.g. StableDiffusion)
- MLを用いたWebアプリケーション
現状
- Kaggle
- 公式のDockerイメージを用いて、コンテナ内でVSCodeで開発
- https://github.com/ktakita1011/my_kaggle_docker
- MLリポジトリ(e.g. StableDiffusion)
- 仮想環境での実行
- MLを用いたWebアプリケーション
- Dockerイメージを用いた実行
-> KaggleのみNeovimを使えないので、ここをどうにかすれば良い
Kaggle
- 手元のローカル環境と、KaggleNotebookとの差異をできるだけなくしたい
- そのため、KaggleNotebookと同じである公式のDockerイメージを使っている
要件
- JupyterNotebookを使いたい
- EDA
- PoCがしやすい
- コードを行単位で実行できるので、エラー修正が容易
- エラーが出るたび毎回全てのコードを実行するのは、データ読み込みなどで時間がかかるML開発においてストレス
- コードを行単位で実行できるので、エラー修正が容易
- KaggleNotebookとできるだけ環境差異をなくしたい
- ほぼコードコンペのため、InferenceではKaggleNotebook上で実行しなければならない
- ここで環境差異が発生するのはストレス
調査
案
- JupyterNotebookを使いたい
- NeovimではJupyterNotebookを諦めるパターン
- Neovimで編集したipythonファイルをブラウザの表示で同期させる
- -> VSCodeでいい気がする
- NeovimでもJupyterNotebookを扱うパターン
- molton
- Pluginを用いてipython形式で実行
- 画像の表示ができない
- NeovimではJupyterNotebookを諦めるパターン
- KaggleNotebookとできるだけ環境差異をなくしたい
- 実行時のみ、
docker run ~
で公式Dockerイメージを使う- ローカルにライブラリがないと、コード補完が微妙になるかも
- 環境構築の手間がない
- ローカルにライブラリをインストールする
- コンテナ内でNeovimの設定をする(Dockerfile)
- https://zenn.dev/tamago3keran/articles/30b581bde514e6
- ローカルと同じような操作感にするのに、色々とハマりそう
- 実行時のみ、

セットアップ
Neovim
plugin
- PluginManager
- packer.nvim
- メジャー
- lua製で高速
- Colorscheme
- dracula/vim
- Statusline
- lualine.nvim
- LSP
- mason.nvim
- cmp
備考
- Filer
- nvim-treeを入れると、動作が重くなる
- -> Vim標準機能のntrwで必要十分そうだった
- FuzzyFinder
- 同様に標準機能で必要十分
- https://qiita.com/yuku_t/items/0c1aff03949cb1b8fe6b
- コピペがwinと共有できない
- clipboard providerがないとのこと(SSH先)
- SSH先での設定をしないといけない
- WSLでも別途設定する必要?
- tmuxで解決できないか調べる
- https://zenn.dev/nazo6/articles/lemonade-neovim-clipboard
- Pyrightの補完がでなかった
- PyrightのversionがNeovimと合っていなかった
- Pyrightを入れるmasonのversionが古かった -> npmが最新でなかった(Ubuntuの
apt install npm
だと起きる)
- debugger
- https://github.com/mfussenegger/nvim-dap-python
- debugpyをinstallしなければならないので、ローカル依存があるため、コンテナ内でdebugは無理そう
参考
- https://www.youtube.com/watch?v=4BnVeOUeZxc
- https://namileriblog.com/mac/neovim_lsp/
- https://zenn.dev/hisasann/articles/neovim-settings-to-lua
- https://zenn.dev/vim_jp/articles/vim_noplugin
zsh
- デフォルトSHELLへ設定
chsh -s /usr/bin/zsh ${ユーザ名}
- git-prompt.sh
mkdir ~/.zsh
curl -o ~/.zsh/git-prompt.sh https://raw.githubusercontent.com/git/git/master/contrib/completion/git-prompt.sh
tmux
このスクラップは2024/06/20にクローズされました