首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行pylint返回ModuleNotFoundError:没有名为'wrapt.wrappers‘的模块

运行pylint返回ModuleNotFoundError:没有名为'wrapt.wrappers‘的模块
EN

Stack Overflow用户
提问于 2017-11-26 20:51:36
回答 3查看 9.2K关注 0票数 4

我正在尝试使用带有pylint的Visual Studio代码。当我加载任何.py文件时,我在输出控制台中得到以下错误:

代码语言:javascript
复制
Linting with pylint failed.
You could either install the 'pylint' linter or turn it off in setings.json via "python.linting.pylintEnabled = false".
Error: Command failed: C:\Users\(...)\AppData\Local\Programs\Python\Python36-32\python.exe -m pylint --msg-template='{line},{column},{category},{msg_id}:{msg}' --reports=n --output-format=text c:\Users\(...)\Desktop\Untitled-1.py
Traceback (most recent call last):
  File "C:\Users\(...)\AppData\Local\Programs\Python\Python36-32\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Users\(...)\AppData\Local\Programs\Python\Python36-32\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\(...)\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pylint\__main__.py", line 7, in <module>
    pylint.run_pylint()
  File "C:\Users\(...)\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pylint\__init__.py", line 12, in run_pylint
    from pylint.lint import Run
  File "C:\Users\(...)\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pylint\lint.py", line 43, in <module>
    import astroid
  File "C:\Users\(...)\AppData\Local\Programs\Python\Python36-32\lib\site-packages\astroid\__init__.py", line 57, in <module>
    from astroid.nodes import *
  File "C:\Users\(...)\AppData\Local\Programs\Python\Python36-32\lib\site-packages\astroid\nodes.py", line 30, in <module>
    from astroid.node_classes import (
  File "C:\Users\(...)\AppData\Local\Programs\Python\Python36-32\lib\site-packages\astroid\node_classes.py", line 26, in <module>
    from astroid import decorators
  File "C:\Users\(...)\AppData\Local\Programs\Python\Python36-32\lib\site-packages\astroid\decorators.py", line 12, in <module>
    import wrapt
  File "C:\Users\(...)\AppData\Local\Programs\Python\Python36-32\lib\site-packages\wrapt\__init__.py", line 4, in <module>
    from .wrappers import (ObjectProxy, CallableObjectProxy, FunctionWrapper,
ModuleNotFoundError: No module named 'wrapt.wrappers'

这不是特定于VS代码的,当我从命令行运行这个命令时,我得到了相同的结果:

代码语言:javascript
复制
C:\Users\(...)\AppData\Local\Programs\Python\Python36-32\python.exe -m pylint --msg-template='{line},{column},{category},{msg_id}:{msg}' --reports=n --output-format=text c:\Users\(...)\Desktop\Untitled-1.py

安装了pylint的依赖项:

代码语言:javascript
复制
PS C:\Users\(...)> & C:\Users\(...)\AppData\Local\Programs\Python\Python36-32\python.exe -m pip install pylint
Requirement already satisfied: pylint in c:\users\(...)\appdata\local\programs\python\python36-32\lib\site-packages
Requirement already satisfied: six in c:\users\(...)\appdata\local\programs\python\python36-32\lib\site-packages (from pylint)
Requirement already satisfied: colorama; sys_platform == "win32" in c:\users\(...)\appdata\local\programs\python\python36-32\lib\site-packages (from pylint)
Requirement already satisfied: isort>=4.2.5 in c:\users\(...)\appdata\local\programs\python\python36-32\lib\site-packages (from pylint)
Requirement already satisfied: mccabe in c:\users\(...)\appdata\local\programs\python\python36-32\lib\site-packages (from pylint)
Requirement already satisfied: astroid>=1.5.1 in c:\users\(...)\appdata\local\programs\python\python36-32\lib\site-packages (from pylint)
Requirement already satisfied: lazy-object-proxy in c:\users\(...)\appdata\local\programs\python\python36-32\lib\site-packages (from astroid>=1.5.1->pylint)
Requirement already satisfied: wrapt in c:\users\(...)\appdata\local\programs\python\python36-32\lib\site-packages (from astroid>=1.5.1->pylint)

Win10 64位上的Python 3.6.3 32位。Python的路径是在系统的环境变量中设置的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-12-18 10:30:25

我在类似的环境下也遇到了同样的问题(win10 64位,VSCode,python3.6.3)。我从wrapt github repo:https://github.com/GrahamDumpleton/wrapt/tree/master/src/wrapt下载了所有文件,然后把它放到我的wrapt文件夹中。

代码语言:javascript
复制
    C:\Users\(...)\AppData\Local\Programs\Python\Python36-32\lib\site-packages\wrapt\

现在我的林特开始工作了。

票数 1
EN

Stack Overflow用户

发布于 2017-12-19 21:11:38

模块包装安装不正确,所以我将其卸载。重新安装失败,因为pip无法处理MSVC警告中的特殊字符。(不知道最初是如何报告安装成功的)。

pip处理控制台输出中的特殊字符时存在错误。作为一种解决办法,我已经替换了\lib\site-packages\pip\compat\__init__.py中的第73行

发自:

return s.decode(sys.__stdout__.encoding)

至:

return s.decode(sys.__stdout__.encoding, "replace")

并再次运行python -m pip install pylint。这一次它起作用了。

票数 0
EN

Stack Overflow用户

发布于 2019-08-14 21:23:59

您可能已经使用sudo安装了pylint。尝试为用户范围进行安装,例如pip install pylint --user

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47496329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档