带嗅探器的 Pylint 不使用更新的源文件
Pylint with sniffer not using updated source files
我正在使用 Pylint 和 Nose 以及嗅探器在每次保存时检查和测试我的 python 应用程序。这是嗅探器,以防你不知道 https://pypi.python.org/pypi/sniffer
这里是 运行nable 负责 运行ning nosetests 和 pylint 来自 scent.py 文件的嗅探器
from sniffer.api import * # import the really small API
from pylint import lint
from subprocess import call
import os
import nose
@runnable
def zimmer_tests(*args):
command = "nosetests some_module/test --nologcapture --with-coverage --cover-config-file=zimmer_coverage_config"
lint.Run(['some_module/app'], exit=False)
return call(command, shell=True) == 0
在这里,我的应用程序上的第一个 lint.Run()
运行s pylint。然后使用 call()
在应用程序上执行 nosetest
问题是,在我将文件 nosetests 运行 保存在文件的更新版本上之后,但是 Pylint 使用相同的旧版本。我每次都必须重新启动嗅探器才能让 pylint 获取新版本的文件。
我认为这不是嗅探器配置的问题,因为 nosetests 每次都能获得新版本的文件。我还是不确定。
我的 pylintrc 文件与我们从 generate 命令 pylint --generate-rcfile > .pylintrc
获得的文件几乎相同,只是做了一些特定于应用程序的小调整。
正如@KlausD 所指出的。在评论中,lint.Run()
正在使用缓存中的文件,因为它是从静止的 运行 进程中调用的。从命令行调用 pylint 按预期工作。
这里是修改后的代码
@runnable
def zimmer_tests(*args):
command_nose = "nosetests some_module/test --nologcapture --with-coverage --cover-config-file=zimmer_coverage_config"
command_lint = "pylint some_module"
call(command_lint, shell=True)
return call(command_nose, shell=True) == 0
我正在使用 Pylint 和 Nose 以及嗅探器在每次保存时检查和测试我的 python 应用程序。这是嗅探器,以防你不知道 https://pypi.python.org/pypi/sniffer
这里是 运行nable 负责 运行ning nosetests 和 pylint 来自 scent.py 文件的嗅探器
from sniffer.api import * # import the really small API
from pylint import lint
from subprocess import call
import os
import nose
@runnable
def zimmer_tests(*args):
command = "nosetests some_module/test --nologcapture --with-coverage --cover-config-file=zimmer_coverage_config"
lint.Run(['some_module/app'], exit=False)
return call(command, shell=True) == 0
在这里,我的应用程序上的第一个 lint.Run()
运行s pylint。然后使用 call()
问题是,在我将文件 nosetests 运行 保存在文件的更新版本上之后,但是 Pylint 使用相同的旧版本。我每次都必须重新启动嗅探器才能让 pylint 获取新版本的文件。
我认为这不是嗅探器配置的问题,因为 nosetests 每次都能获得新版本的文件。我还是不确定。
我的 pylintrc 文件与我们从 generate 命令 pylint --generate-rcfile > .pylintrc
获得的文件几乎相同,只是做了一些特定于应用程序的小调整。
正如@KlausD 所指出的。在评论中,lint.Run()
正在使用缓存中的文件,因为它是从静止的 运行 进程中调用的。从命令行调用 pylint 按预期工作。
这里是修改后的代码
@runnable
def zimmer_tests(*args):
command_nose = "nosetests some_module/test --nologcapture --with-coverage --cover-config-file=zimmer_coverage_config"
command_lint = "pylint some_module"
call(command_lint, shell=True)
return call(command_nose, shell=True) == 0