やりたいこと
dockerを利用してpythonの開発環境を構築する
マシンが変わったときに逐一開発環境を構築するのがめんどうくさいため、
dockerで管理することで構築の手間を省きたい
また、他者と共有する場合でも便利なはず
python以外の開発環境もプラグイン揃えて強化して行く予定です(たぶん)
前提
ホストマシンの/opt/pyenv
にpyenvおよびpyenvのプラグインpyenv-virtualenv
がインストールされていること
もしpyenvを利用していない方はDockerファイルのpyenvのPATH設定の部分を適宜変更してください
Dockerfile
https://github.com/komorin0521/python_ide
上記にアップロードしているのでgit cloneしてください
build
$ docker build -t python_ide .
なお、neovimで利用するプラグインの設定は少ないかもしれないので、お好きなものを追加してください
RUN
$ docker run -it --rm -v /opt/pyenv:/opt/pyenv -v /home:/home python_ide $PWD/tmp.py
特に苦労した点
neovimの文字化け
英語で検索するとneovimのissueに上がっていて解決策にguicursorを空で設定したらいいよって解決策が。めでたし、めでたし。vimにおけるpythonの設定
neovimクライアントがシステムワイドのpythonにインストールされており、
仮想環境に切り替わった時点で、neovimがpythonを認識しないという自体に.
(:echo has("python")
や `echo has("python3")P の出力が0になる)
どうやらこれもneovimの設定で利用するPythonシステムワイドの方のpythonに固定を行えば良いとのことで、試してみたらうまくいった!
Pythonのvenv環境でneovimを使うときneovimのpython-clientやjediをどうしたらよいか?
参考
個人設定込みNeovimのDokcerイメージを作成した
ENTRYポイントなどDockerファイルについてはかなり参考にさせてもらいました。【Python環境整備】脱NeoBundle。超便利補完プラグインjedi-vimの環境をdeinで整えて快適になる設定までやる
jedi-vimの設定はここのページで記載されている内容を利用させていただきました。Pythonのvenv環境でneovimを使うときneovimのpython-clientやjediをどうしたらよいか?
https://qiita.com/yoshi65/items/fe1c17d87b3e43f22ef3
pythonのテンプレートファイルの読み込みについては上記を参考にしました。