Vim语法显示Python VirtualEnv库的导入错误

问题描述 投票:3回答:1

我有scrooloose / syntastic在我的vim上安装了插件。而且我已经全局安装了[[pylint库。

sudo python -m pip install pylint

但是对于我的项目,我有

VirtualEnv

,并且该项目的所有必需库都安装在VirtualEnv中。 问题是,

    Syntastic显示属于virtualenv的库的导入错误
  • 我的Jedi-vim插件向我显示了所有建议,并且我能够运行该问题,因此python方面没有错。
python vim vim-plugin
1个回答
0
投票
您必须在virtualenv中安装pylint才能被syntastic识别。最简单的方法是运行

(virtualenv) $ pip install pylint

在您的虚拟环境中。

如果您有太多项目,并且希望避免运行该命令来将pylint安装到每个项目中,则可以让vim为您运行它。将以下内容添加到您的.vimrc中:

py3 << EOF import os if 'VIRTUAL_ENV' in os.environ: os.system('pip install pylint') EOF

这不会避免使用virtualenv pylint,因为这会将pylint安装到您用vim打开的每个virtualenv中。我相信可以使用g:syntastic_python_pylint_exe更改pylint路径,但是正如您所看到的here,不建议这样做(pylint取决于python版本,很容易弄乱我猜到的版本)。请注意,此方法在打开文件时会增加一些延迟,但是如果您不介意再等待一秒钟来打开文件,则此方法很有趣。
© www.soinside.com 2019 - 2024. All rights reserved.