@tony-yin
2018-10-12T11:05:58.000000Z
字数 1137
阅读 1165
vim
打开py
文件就会报错,可以发现是缺少pylama
模块
Error detected while processing function provider#python#Call:
line 18:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/root/.cache/vim/dein/repos/github.com/python-mode/python-mode/pymode/lint.py", line 11, in <module>
from pylama.lint.extensions import LINTERS
然后执行命令:
pip install pylama
pip3 install pylama
还是报一样的错误。
所以应该可以得出结论,vim
加载python-mode
的解释器不是系统的python
,所以我们在/root/.cache/vim/dein/repos/github.com/python-mode/python-mode/pymode/lint.py
文件的开头加了如下代码:
import sys
print sys.executable
再次打开py
文件可以发现nvim
加载的python
解释器是venv
/root/.cache/vim/venv/neovim2/bin/python
然后我们通过执行:
/root/.cache/vim/venv/neovim2/bin/pip install pylama
再次打开py
文件,可以发现不再报错。
该操作只是一个验证操作,我们要从根源上解决这个问题,那么就得在生成venv
的源头安装pylama
模块。
这个venv
的安装是在安装vim-config
这个配置的时候生成的,下面存在一个venv.sh
文件,文件的最下方便是生成venv
后,安装模块的操作:
# Install or upgrade dependencies
echo ':: PYTHON 2'
"$venv/neovim2/bin/pip" install -U neovim PyYAML
echo -e '\n:: PYTHON 3'
"$venv/neovim3/bin/pip" install -U neovim PyYAML
我们只需要在后面新增一个pylama
模块即可:
# Install or upgrade dependencies
echo ':: PYTHON 2'
"$venv/neovim2/bin/pip" install -U neovim PyYAML pylama
echo -e '\n:: PYTHON 3'
"$venv/neovim3/bin/pip" install -U neovim PyYAML pylama