1

coc.nvim+ coc-python+通常のjediセットアップでは、NeoVim はシステム Python モジュールを使用して独自のプラグインを実行する必要がありますが、Jedi はアクティブな仮想環境にインストールされた Python モジュールをオートコンプリートできるはずです。設定方法を教えてください。

NeoVim をグローバルにインストールし、pip installPylint と 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

仮想環境を作成したら、それをアクティブ化し、pygameNeoVim をインストールして実行します。

➜  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 回インストールしなければならないのは、仮想環境を使用する目的に反します。

4

1 に答える 1