@tony-yin
2018-10-12T03:05:58.000000Z
字数 1137
阅读 1467
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 pylamapip3 install pylama
还是报一样的错误。
所以应该可以得出结论,vim加载python-mode的解释器不是系统的python,所以我们在/root/.cache/vim/dein/repos/github.com/python-mode/python-mode/pymode/lint.py文件的开头加了如下代码:
import sysprint 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 dependenciesecho ':: PYTHON 2'"$venv/neovim2/bin/pip" install -U neovim PyYAMLecho -e '\n:: PYTHON 3'"$venv/neovim3/bin/pip" install -U neovim PyYAML
我们只需要在后面新增一个pylama模块即可:
# Install or upgrade dependenciesecho ':: PYTHON 2'"$venv/neovim2/bin/pip" install -U neovim PyYAML pylamaecho -e '\n:: PYTHON 3'"$venv/neovim3/bin/pip" install -U neovim PyYAML pylama
