【问题标题】:Vim syntastic shows import error for Python VirtualEnv librariesVim syntastic 显示 Python VirtualEnv 库的导入错误
【发布时间】:2020-05-02 03:59:28
【问题描述】:

我在我的 vim 上安装了 scrooloose/syntastic 插件。而且我已经在全球范围内安装了 pylint 库。

sudo python -m pip install pylint

但是对于我的项目,我有 VirtualEnv,并且该项目的所有必要库都安装在 VirtualEnv 中。

问题是,

  • Syntastic 显示作为 virtualenv 一部分的库的导入错误
  • 我的 Jedi-vim 插件向我展示了所有建议,并且我能够运行该问题,因此 python 方面没有任何问题。

【问题讨论】:

    标签: python vim vim-plugin


    【解决方案1】:

    你必须在你的 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 版本,我猜很容易弄乱版本)。 请注意,这种方法在打开文件时会增加一些延迟,但如果您不介意再等待 1 秒来打开文件,那么这种方法很有趣。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-16
      • 2014-08-15
      • 2014-03-09
      • 2014-11-14
      • 2015-02-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多