Running pylint returns ModuleNotFoundError: No module named 'wrapt.wrappers'
Running pylint returns ModuleNotFoundError: No module named 'wrapt.wrappers'
我正在尝试将 Visual Studio 代码与 pylint 结合使用。当我加载任何 .py 文件时,我在输出控制台中收到以下错误:
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 Code 特有的,当 运行 来自命令行的这个命令时,我得到了相同的结果:
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 的依赖项已安装:
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)
Python Win 10 64 位上的 3.6.3 32 位。 Python的路径在系统环境变量中设置。
我遇到了同样的问题,环境相似(win 10 64 位,VSCode,Python 3.6.3)。
我从 wrapt github 仓库下载了所有文件:
https://github.com/GrahamDumpleton/wrapt/tree/master/src/wrapt
然后我把它放在我的 wrapt 文件夹里。
C:\Users\(...)\AppData\Local\Programs\Python\Python36-32\lib\site-packages\wrapt\
现在我的 linter 可以正常工作了。
wrapt 模块安装不正确,所以我卸载了它。重新安装失败,因为 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
。这次成功了。
您可能已经使用 sudo 安装了 pylint。尝试为用户范围安装,例如 pip install pylint --user
我正在尝试将 Visual Studio 代码与 pylint 结合使用。当我加载任何 .py 文件时,我在输出控制台中收到以下错误:
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 Code 特有的,当 运行 来自命令行的这个命令时,我得到了相同的结果:
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 的依赖项已安装:
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)
Python Win 10 64 位上的 3.6.3 32 位。 Python的路径在系统环境变量中设置。
我遇到了同样的问题,环境相似(win 10 64 位,VSCode,Python 3.6.3)。 我从 wrapt github 仓库下载了所有文件: https://github.com/GrahamDumpleton/wrapt/tree/master/src/wrapt 然后我把它放在我的 wrapt 文件夹里。
C:\Users\(...)\AppData\Local\Programs\Python\Python36-32\lib\site-packages\wrapt\
现在我的 linter 可以正常工作了。
wrapt 模块安装不正确,所以我卸载了它。重新安装失败,因为 pip 无法处理 MSVC 警告中的特殊字符。 (不知道一开始是如何报告安装成功的)。
pip 在处理控制台输出中的特殊字符时存在错误。作为一种解决方法,我已经替换了 \lib\site-packages\pip\compat\__init__.py
来自:
return s.decode(sys.__stdout__.encoding)
至:
return s.decode(sys.__stdout__.encoding, "replace")
和 运行 python -m pip install pylint
。这次成功了。
您可能已经使用 sudo 安装了 pylint。尝试为用户范围安装,例如 pip install pylint --user