Windows 7 尝试在Windows 7和Python 3.3中运行pylint

Windows 7 尝试在Windows 7和Python 3.3中运行pylint,windows-7,pylint,python-3.3,Windows 7,Pylint,Python 3.3,我知道这个一般性的问题并不新鲜,但这似乎是我个人的问题 我尝试在Windows7下为Python 3.3安装pylint(是的,我知道它不受支持,但我知道这是可能的——因为我的一位同事这样做了,但遗憾的是,他解决已知问题的方法在我的电脑上不起作用——他有Windows8…) 此时我已经安装了Python3.3,并首次尝试通过pip安装pylint,但失败了 通过搜索和与同事的交谈,我得到了以下答案: 我用这些指令安装了pylint,但其中一个依赖项(logilab astng)失败了 我检查了

我知道这个一般性的问题并不新鲜,但这似乎是我个人的问题

我尝试在Windows7下为Python 3.3安装pylint(是的,我知道它不受支持,但我知道这是可能的——因为我的一位同事这样做了,但遗憾的是,他解决已知问题的方法在我的电脑上不起作用——他有Windows8…)

此时我已经安装了Python3.3,并首次尝试通过pip安装pylint,但失败了

通过搜索和与同事的交谈,我得到了以下答案:

我用这些指令安装了pylint,但其中一个依赖项(logilab astng)失败了

我检查了setup.py脚本,意识到“2to3”转换没有在我的机器上运行(我想是由于路径问题)——我重新配置了转换,然后它就运行了

之后,所有安装过程(pylint、logilab astng、logilab common)退出“成功”-但如果我启动pylint,我会收到以下消息:

G:\Path\to\project>pylint --rcfile .\pylint.rc modulename
Traceback (most recent call last):
  File "C:\Program Files (x86)\Python33\Scripts\pylint-script.py", line 9, in <module>
    load_entry_point('pylint==0.27.0', 'console_scripts', 'pylint')()
  File "C:\Program Files (x86)\Python33\lib\site-packages\pylint-0.27.0-py3.3.egg\pylint\__init__.py", line 21, in run_pylint
    Run(sys.argv[1:])
  File "C:\Program Files (x86)\Python33\lib\site-packages\pylint-0.27.0-py3.3.egg\pylint\lint.py", line 991, in __init__
    linter.check(args)
  File "C:\Program Files (x86)\Python33\lib\site-packages\pylint-0.27.0-py3.3.egg\pylint\lint.py", line 587, in check
    self.check_astng_module(astng, walker, rawcheckers)
  File "C:\Program Files (x86)\Python33\lib\site-packages\pylint-0.27.0-py3.3.egg\pylint\lint.py", line 666, in check_astng_module
    walker.walk(astng)
  File "C:\Program Files (x86)\Python33\lib\site-packages\pylint-0.27.0-py3.3.egg\pylint\utils.py", line 600, in walk
    self.walk(child)
  File "C:\Program Files (x86)\Python33\lib\site-packages\pylint-0.27.0-py3.3.egg\pylint\utils.py", line 597, in walk
    cb(astng)
  File "C:\Program Files (x86)\Python33\lib\site-packages\pylint-0.27.0-py3.3.egg\pylint\checkers\variables.py", line 510, in visit_import
    module = next(node.infer_name_module(parts[0]))
  File "C:\Program Files (x86)\Python33\lib\site-packages\logilab_astng-0.24.2-py3.3.egg\logilab\astng\bases.py", line 304, in wrapped
    for res in _func(node, context, **kwargs):
  File "C:\Program Files (x86)\Python33\lib\site-packages\logilab_astng-0.24.2-py3.3.egg\logilab\astng\inference.py", line 181, in infer_imp
ort
    yield self.do_import_module(name)
  File "C:\Program Files (x86)\Python33\lib\site-packages\logilab_astng-0.24.2-py3.3.egg\logilab\astng\mixins.py", line 117, in do_import_mo
dule
    return mymodule.import_module(modname, level=level)
  File "C:\Program Files (x86)\Python33\lib\site-packages\logilab_astng-0.24.2-py3.3.egg\logilab\astng\scoped_nodes.py", line 342, in import
_module
    return MANAGER.astng_from_module_name(absmodname)
  File "C:\Program Files (x86)\Python33\lib\site-packages\logilab_astng-0.24.2-py3.3.egg\logilab\astng\manager.py", line 136, in astng_from_
module_name
    return self.astng_from_file(filepath, modname, fallback=False)
  File "C:\Program Files (x86)\Python33\lib\site-packages\logilab_astng-0.24.2-py3.3.egg\logilab\astng\manager.py", line 107, in astng_from_
file
    return ASTNGBuilder(self).file_build(filepath, modname)
  File "C:\Program Files (x86)\Python33\lib\site-packages\logilab_astng-0.24.2-py3.3.egg\logilab\astng\builder.py", line 129, in file_build
    node = self.string_build(data, modname, path)
  File "C:\Program Files (x86)\Python33\lib\site-packages\logilab_astng-0.24.2-py3.3.egg\logilab\astng\builder.py", line 135, in string_buil
d
    module = self._data_build(data, modname, path)
  File "C:\Program Files (x86)\Python33\lib\site-packages\logilab_astng-0.24.2-py3.3.egg\logilab\astng\builder.py", line 162, in _data_build

    module = self.rebuilder.visit_module(node, modname, package)
  File "C:\Program Files (x86)\Python33\lib\site-packages\logilab_astng-0.24.2-py3.3.egg\logilab\astng\rebuilder.py", line 616, in visit_mod
ule
    newnode.body = [self.visit(child, newnode) for child in node.body]
  File "C:\Program Files (x86)\Python33\lib\site-packages\logilab_astng-0.24.2-py3.3.egg\logilab\astng\rebuilder.py", line 616, in <listcomp
>
    newnode.body = [self.visit(child, newnode) for child in node.body]
  File "C:\Program Files (x86)\Python33\lib\site-packages\logilab_astng-0.24.2-py3.3.egg\logilab\astng\rebuilder.py", line 137, in visit
    return self._visit_meths[cls](node, parent)
  File "C:\Program Files (x86)\Python33\lib\site-packages\logilab_astng-0.24.2-py3.3.egg\logilab\astng\rebuilder.py", line 471, in visit_fun
ction
    newnode.body = [self.visit(child, newnode) for child in node.body]
  File "C:\Program Files (x86)\Python33\lib\site-packages\logilab_astng-0.24.2-py3.3.egg\logilab\astng\rebuilder.py", line 471, in <listcomp
>
    newnode.body = [self.visit(child, newnode) for child in node.body]
  File "C:\Program Files (x86)\Python33\lib\site-packages\logilab_astng-0.24.2-py3.3.egg\logilab\astng\rebuilder.py", line 137, in visit
    return self._visit_meths[cls](node, parent)
  File "C:\Program Files (x86)\Python33\lib\site-packages\logilab_astng-0.24.2-py3.3.egg\logilab\astng\rebuilder.py", line 450, in visit_for

    newnode.body = [self.visit(child, newnode) for child in node.body]
  File "C:\Program Files (x86)\Python33\lib\site-packages\logilab_astng-0.24.2-py3.3.egg\logilab\astng\rebuilder.py", line 450, in <listcomp
>
    newnode.body = [self.visit(child, newnode) for child in node.body]
  File "C:\Program Files (x86)\Python33\lib\site-packages\logilab_astng-0.24.2-py3.3.egg\logilab\astng\rebuilder.py", line 137, in visit
    return self._visit_meths[cls](node, parent)
  File "C:\Program Files (x86)\Python33\lib\site-packages\logilab_astng-0.24.2-py3.3.egg\logilab\astng\rebuilder.py", line 540, in visit_if
    newnode.body = [self.visit(child, newnode) for child in node.body]
  File "C:\Program Files (x86)\Python33\lib\site-packages\logilab_astng-0.24.2-py3.3.egg\logilab\astng\rebuilder.py", line 540, in <listcomp
>
    newnode.body = [self.visit(child, newnode) for child in node.body]
  File "C:\Program Files (x86)\Python33\lib\site-packages\logilab_astng-0.24.2-py3.3.egg\logilab\astng\rebuilder.py", line 137, in visit
    return self._visit_meths[cls](node, parent)
  File "C:\Program Files (x86)\Python33\lib\site-packages\logilab_astng-0.24.2-py3.3.egg\logilab\astng\rebuilder.py", line 391, in visit_dis
card
    newnode.value = self.visit(node.value, newnode)
  File "C:\Program Files (x86)\Python33\lib\site-packages\logilab_astng-0.24.2-py3.3.egg\logilab\astng\rebuilder.py", line 141, in visit
    visit_method = getattr(self, visit_name)
AttributeError: 'TreeRebuilder3k' object has no attribute 'visit_yieldfrom'
G:\Path\to\project>pylint--rcfile。\pylint.rc modulename
回溯(最近一次呼叫最后一次):
文件“C:\ProgramFiles(x86)\Python33\Scripts\pylint script.py”,第9行,在
加载入口点('pylint==0.27.0','console\u scripts','pylint')()
文件“C:\Program Files(x86)\Python33\lib\site packages\pylint-0.27.0-py3.3.egg\pylint\\uuuu init\uuuuu.py”,第21行,在run\u pylint中
运行(sys.argv[1:])
文件“C:\Program Files(x86)\Python33\lib\site packages\pylint-0.27.0-py3.3.egg\pylint\lint.py”,第991行,在\uu init中__
过梁检查(args)
文件“C:\Program Files(x86)\Python33\lib\site packages\pylint-0.27.0-py3.3.egg\pylint\lint.py”,第587行,处于检查状态
自检模块(astng、walker、RawChecker)
文件“C:\Program Files(x86)\Python33\lib\site packages\pylint-0.27.0-py3.3.egg\pylint\lint.py”,第666行,在检查模块中
步行者,步行者(astng)
文件“C:\Program Files(x86)\Python33\lib\site packages\pylint-0.27.0-py3.3.egg\pylint\utils.py”,第600行,在walk中
自行行走(儿童)
文件“C:\Program Files(x86)\Python33\lib\site packages\pylint-0.27.0-py3.3.egg\pylint\utils.py”,第597行,在walk中
cb(astng)
文件“C:\Program Files(x86)\Python33\lib\site packages\pylint-0.27.0-py3.3.egg\pylint\checkers\variables.py”,第510行,访问导入
模块=下一个(节点.推断\u名称\u模块(部件[0]))
文件“C:\Program Files(x86)\Python33\lib\site packages\logilab\u astng-0.24.2-py3.3.egg\logilab\astng\bases.py”,第304行,已包装
对于_func中的res(节点,上下文,**kwargs):
文件“C:\Program Files(x86)\Python33\lib\site packages\logilab\u astng-0.24.2-py3.3.egg\logilab\astng\expression.py”,第181行,在infere\u imp中
奥特
屈服自我。不导入模块(名称)
文件“C:\Program Files(x86)\Python33\lib\site packages\logilab\u astng-0.24.2-py3.3.egg\logilab\astng\mixins.py”,第117行,在do\u import\u mo中
杜勒
返回mymodule.import_模块(modname,level=level)
导入文件“C:\Program Files(x86)\Python33\lib\site packages\logilab\u astng-0.24.2-py3.3.egg\logilab\astng\scoped\u nodes.py”,第342行
_模块
返回管理器.astng_from_模块名称(absmodname)
文件“C:\Program Files(x86)\Python33\lib\site packages\logilab\u astng-0.24.2-py3.3.egg\logilab\astng\manager.py”,第136行,astng\u from_
模块名称
从_文件返回self.astng_(filepath,modname,fallback=False)
文件“C:\Program Files(x86)\Python33\lib\site packages\logilab\u astng-0.24.2-py3.3.egg\logilab\astng\manager.py”,第107行,astng\u from_
文件
返回ASTNGBuilder(self).file\u build(文件路径,modname)
文件“C:\Program Files(x86)\Python33\lib\site packages\logilab\u astng-0.24.2-py3.3.egg\logilab\astng\builder.py”,第129行,在文件\u build中
node=self.string\u构建(数据、模块名、路径)
文件“C:\Program Files(x86)\Python33\lib\site packages\logilab\u astng-0.24.2-py3.3.egg\logilab\astng\builder.py”,第135行,字符串
D
模块=自身。\数据\构建(数据、模块名、路径)
文件“C:\Program Files(x86)\Python33\lib\site packages\logilab\u astng-0.24.2-py3.3.egg\logilab\astng\builder.py”,第162行,在数据构建中
module=self.rebuilder.visit_模块(节点、模块名、包)
文件“C:\Program Files(x86)\Python33\lib\site packages\logilab\u astng-0.24.2-py3.3.egg\logilab\astng\rebuilder.py”,第616行,位于访问模块
乌莱
newnode.body=[节点.body中的子节点的self.visit(子节点,newnode)]
文件“C:\Program Files(x86)\Python33\lib\site packages\logilab\u astng-0.24.2-py3.3.egg\logilab\astng\rebuilder.py”,第616行,在
newnode.body=[节点.body中的子节点的self.visit(子节点,newnode)]
文件“C:\Program Files(x86)\Python33\lib\site packages\logilab\u astng-0.24.2-py3.3.egg\logilab\astng\rebuilder.py”,第137行,访问
返回自我。访问方法[cls](节点,父节点)
文件“C:\Program Files(x86)\Python33\lib\site packages\logilab\u astng-0.24.2-py3.3.egg\logilab\astng\rebuilder.py”,第471行,访问
行动
newnode.body=[节点.body中的子节点的self.visit(子节点,newnode)]
文件“C:\Program Files(x86)\Python33\lib\site packages\logilab\u astng-0.24.2-py3.3.egg\logilab\astng\rebuilder.py”,第471行,在
newnode.body=[节点.body中的子节点的self.visit(子节点,newnode)]
文件“C:\Program Files(x86)\Python33\lib\site packages\logilab\u astng-0.24.2-py3.3.egg\logilab\astng\rebuilder.py”,第137行,访问
返回自我。访问方法[cls](节点,父节点)
文件“C:\Program Files(x86)\Python33\lib\site packages\logilab\u astng-0.24.2-py3.3.egg\logilab\astng\rebuilder.py”,第450行,访问
newnode.body=[节点.body中的子节点的self.visit(子节点,newnode)]
文件“C:\Program Files(x86)\Python33\lib\site packages\logilab\u astng-0.24.2-py3.3.egg\logilab\astng\rebuilder.py”,第450行,在
newnode.body=[节点.body中的子节点的self.visit(子节点,newnode)]
文件“C:\Program Files(x86)\Python33\lib\site packages\logilab\u astng-0.24.2-py3.3.egg\logilab\astng\rebuilder.py”,第137行,访问
返回自我。访问方法[cls](节点,父节点)
文件“C:\ProgramFiles(x86)\Python33\lib\site packages\logilab_
diff --git a/rebuilder.py b/rebuilder.py
--- a/rebuilder.py
+++ b/rebuilder.py
@@ -877,10 +877,12 @@ class TreeRebuilder3k(TreeRebuilder):
             newnode.handlers = [self.visit(child, newnode) for child in node.handlers]
             newnode.orelse = [self.visit(child, newnode) for child in node.orelse]
         newnode.set_line_info(newnode.last_child())
         return newnode

+    def visit_yieldfrom(self, node, parent):
+        return self.visit_yield(node, parent)

 if sys.version_info >= (3, 0):
     TreeRebuilder = TreeRebuilder3k