coc.nvim
+ coc-python
+通常のjedi
セットアップでは、NeoVim はシステム Python モジュールを使用して独自のプラグインを実行する必要がありますが、Jedi はアクティブな仮想環境にインストールされた Python モジュールをオートコンプリートできるはずです。設定方法を教えてください。
NeoVim をグローバルにインストールし、pip install
Pylint と Jedi をインストールしました。問題なくNeoVimにインストールcoc.nvim
しました。coc-python
にシステムの Python 3 パスがあり~/.vimrc
ます。
let g:python3_host_prog = '/bin/python'
および の次の内容~/coc-settings.json
:
"python.pythonPath": "/bin/python",
"python.jediEnabled": true,
"python.jediPath": "/usr/lib/python3.9/site-packages",
"python.linting.pylintEnabled": true,
"python.linting.pylintPath": "/bin/pylint",
"python.linting.flake8Enabled": false
仮想環境を作成したら、それをアクティブ化し、pygame
NeoVim をインストールして実行します。
➜ python3 -m venv myenv && myenv/bin/activate
➜ pip install pygame
➜ nvim
リンターと Python 3 プロバイダーの両方が正常に動作します。ただし、Jedi はローカル コードのメンバーを完成させますが、仮想環境の外部にpygame
もインストールしない限り、のメンバーを完成させません。pygame
➜ deactivate
➜ pip install pygame
➜ myenv/bin/activate
➜ nvim
しかし、すべての Python モジュールを 2 回インストールしなければならないのは、仮想環境を使用する目的に反します。