我在Windows计算机上安装了Anaconda,Spyder工作正常,但通过静态代码分析功能运行pylint会出错.Pylint是通过Conda安装的.
注意:Spyder中的错误不允许我直接复制和粘贴文本.使用图片到文本转换器来获取下面的代码,这样可能会有几个字符关闭...
No config file found, using default configuration Traceback (most recent call last):
File "C: \Users\ Username \AppData \Local \Continuum \Anaconda \Scripts\pylint-script.py", line 2, in <module>
run_pylint()
File "C: \Users\ USERNAME \AppData \Local \Continuum \Anaconda \lib\site-packages\pylint\_init_.py", line 23, in run_pylint
Run(sys.argv[1:])
File "C: \Users\ USERNAME \AppData \Local \Continuum \Anaconda \lib\site-packages\pylint\lint.py", line 1313, in _init_
lintercheck(args)
File "C: \Users\ USERNAME \AppData \Local \Continuum \Anaconda \lib\site-packages\pylint\lint.py", line 729, in check
self._do_check(files_or_modules)
File "C: \Users\ USERNAME \AppData \Local \Continuum \Anaconda \lib\site-packages\pylint\lint.py", line …Run Code Online (Sandbox Code Playgroud) 下面是我的代码的一个显着简化的版本.之后__init__()有几个功能.
我试图用来functools.partial创建基本comparison函数的不同版本,它引用了类中早期创建的函数calculation.此比较函数的一个版本可能grade_comparison如下所示.
class Analysis(mybaseclass):
def __init__(self, year, cycle):
....
def calculation(self, subject):
print subject
def comparison(subject, **kwargs):
self.calculation(subject)
grade_comparison = functools.partial(comparison, infoList1 = ['A', 'B'])
Run Code Online (Sandbox Code Playgroud)
当我运行我的代码时,出现错误,NameError: global name 'self' is not defined.我尝试添加self许多似乎合乎逻辑的组合 - 下面是一个例子.
self.grade_comparison = functools.partial(comparison, self, infoList1 = ['A', 'B'])
Run Code Online (Sandbox Code Playgroud)
这个更改导致了这个错误,NameError: name 'self' is not defined
当我将self添加到比较函数时(见下文):
def comparison(self, subject, **kwargs):
self.calculation(subject)
Run Code Online (Sandbox Code Playgroud)
我收到这个错误TypeError: comparison() takes at least 2 arguments (1 given).如果您需要更多背景,请告诉我们!如前所述,这是代码的准系统.