Vim syntastic在Python VirtualEnv库中显示导入错误

4
我在vim中安装了scrooloose/syntastic插件,并且全局安装了pylint库。然而,对于我的项目,我使用VirtualEnv并在其中安装了所有必要的库。问题在于:
- Syntastic显示虚拟环境中的库导入错误。 - 我的Jedi-vim插件显示了所有建议,并且我能够运行这个问题,因此从Python方面来看没有什么问题。
1个回答

4

你需要在虚拟环境中安装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。 我相信可以使用更改pylint路径,但是如此处所示,这并不被推荐(pylint依赖于python版本,并且很容易搞乱版本)。 请注意,这种方法会在打开文件时添加一些延迟,但是如果您不介意等待1秒钟来打开文件,这种方法是有趣的。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接