这可能> Sublime3 +一个python linter + virtualenv?

时间:2014-08-14 21:15:02

标签: python sublimetext sublimetext3 pylint

我已经阅读了很多相互冲突的SO帖子,经历了我能找到的所有相关github问题,并尝试了各种sublime配置文件中的无数配置选项,最后放弃并诉诸此请求帮助

正如标题所述 - 我想使用sublime3 + sublime linter +像pylint这样的东西来使用安装在特定项目虚拟环境中的Python来提取我的Python代码。我不确定具体的工具链,但只要它对我来说足够好。

拜托,有没有人知道它是否可能 - 更重要的是如何实际做到这一点?

提前致谢,

3 个答案:

答案 0 :(得分:2)

更新,现在升华短毛猫建议按以下项目设置进行更新:

"settings":
{
    "SublimeLinter.linters.flake8.python": "/path/to/venv/bin/python"
}

答案 1 :(得分:1)

查看SublimePythonIDE(可在打包控件上找到)。我相信它默认使用Pyflakes来代码你的代码。

该文档还向您展示了如何将其设置为在虚拟环境中使用解释器。我不认为它会在虚拟环境中主动提示您的代码,但您可以访问自动完成,跳转到定义,查看文档等内容。

在您的项目设置中:

{
    "folders": [
        {
           "path": "XYZ"
        },
        {
            "path": "ABC"
        }
    ],
    "settings": {
        "python_interpreter": "/path/to/some/virtualenv/bin/python"
    }
}

答案 2 :(得分:0)

有一种解决方法可以将SublimeLinter / flake8插入Sublime Text 3中每个项目的自定义virtualenv。

您应该使用pip install flake8将flake8安装到virtualenv,但请注意不要在requirements.txt中包含flake8及其依赖项。

然后你应该编辑SublimeText项目设置并将SublimeLinter部分粘贴到项目的virtualenv的Python二进制文件的完整路径:

"SublimeLinter":
{
    "linters":
    {
        "flake8":
        {
            "python": "/path/to/virtualenv_folder/bin/python"
        },
    }
}

因此每次使用flake8的SublimeLinter都能解决项目中每个打开的*.py文件时,flake8将由该自定义virtualenv的Python二进制文件执行。