【问题标题】:Pylint installation failed on windows在 Windows 上安装 Pylint 失败
【发布时间】:2018-02-24 17:05:27
【问题描述】:

我尝试在 Windows 上安装 pylint(使用 Visual Studio 代码)。我有这个例外,我找不到解决方案。 我已经尝试完全重新安装 python,但我有完全相同的错误。 在其他 PC 上,相同的重现步骤可以正常工作。

>"C:\Program Files (x86)\Python36-32\python" -m pip install pylint
Collecting pylint
  Downloading pylint-1.7.2-py2.py3-none-any.whl (644kB)
    100% |████████████████████████████████| 645kB 1.9MB/s
Collecting colorama; sys_platform == "win32" (from pylint)
  Downloading colorama-0.3.9-py2.py3-none-any.whl
Collecting astroid>=1.5.1 (from pylint)
  Downloading astroid-1.5.3-py2.py3-none-any.whl (269kB)
    100% |████████████████████████████████| 276kB 4.1MB/s
Collecting isort>=4.2.5 (from pylint)
  Downloading isort-4.2.15-py2.py3-none-any.whl (43kB)
    100% |████████████████████████████████| 51kB 5.7MB/s
Collecting mccabe (from pylint)
  Downloading mccabe-0.6.1-py2.py3-none-any.whl
Collecting six (from pylint)
  Downloading six-1.10.0-py2.py3-none-any.whl
Collecting lazy-object-proxy (from astroid>=1.5.1->pylint)
  Downloading lazy_object_proxy-1.3.1-cp36-cp36m-win32.whl
Collecting wrapt (from astroid>=1.5.1->pylint)
  Downloading wrapt-1.10.11.tar.gz
Installing collected packages: colorama, six, lazy-object-proxy, wrapt, astroid, isort, mccabe, pylint
  Running setup.py install for wrapt ... error
Exception:
Traceback (most recent call last):
  File "C:\Program Files (x86)\Python36-32\lib\site-packages\pip\compat\__init__.py", line 73, in console_to_str
    return s.decode(sys.__stdout__.encoding)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 5: invalid continuation byte

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Python36-32\lib\site-packages\pip\basecommand.py", line 215, in main
    status = self.run(options, args)
  File "C:\Program Files (x86)\Python36-32\lib\site-packages\pip\commands\install.py", line 342, in run
    prefix=options.prefix_path,
  File "C:\Program Files (x86)\Python36-32\lib\site-packages\pip\req\req_set.py", line 784, in install
    **kwargs
  File "C:\Program Files (x86)\Python36-32\lib\site-packages\pip\req\req_install.py", line 878, in install
    spinner=spinner,
  File "C:\Program Files (x86)\Python36-32\lib\site-packages\pip\utils\__init__.py", line 676, in call_subprocess
    line = console_to_str(proc.stdout.readline())
  File "C:\Program Files (x86)\Python36-32\lib\site-packages\pip\compat\__init__.py", line 75, in console_to_str
    return s.decode('utf_8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 5: invalid continuation byte

你有什么问题吗?

编辑: 正如 Shankar 所说,我手动安装了 astroid。它第一次没有工作。我遇到了这个问题:python easy_install pylint Error: The system cannot find the file specified 安装终于成功了,但 pylint 没有任何改变。

这是我尝试运行 pylint 时收到的日志

Traceback (most recent call last):
  File "c:\program files (x86)\python36-32\lib\runpy.py", line 193, in _run_modu
le_as_main
    "__main__", mod_spec)
  File "c:\program files (x86)\python36-32\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Program Files (x86)\Python36-32\Scripts\pylint.exe\__main__.py", line
 9, in <module>
  File "c:\program files (x86)\python36-32\lib\site-packages\pylint\__init__.py"
, line 12, in run_pylint
    from pylint.lint import Run
  File "c:\program files (x86)\python36-32\lib\site-packages\pylint\lint.py", li
ne 43, in <module>
    import astroid
  File "c:\program files (x86)\python36-32\lib\site-packages\astroid\__init__.py
", line 57, in <module>
    from astroid.nodes import *
  File "c:\program files (x86)\python36-32\lib\site-packages\astroid\nodes.py",
line 30, in <module>
    from astroid.node_classes import (
  File "c:\program files (x86)\python36-32\lib\site-packages\astroid\node_classe
s.py", line 26, in <module>
    from astroid import decorators
  File "c:\program files (x86)\python36-32\lib\site-packages\astroid\decorators.
py", line 12, in <module>
    import wrapt
  File "c:\program files (x86)\python36-32\lib\site-packages\wrapt\__init__.py",
 line 4, in <module>
    from .wrappers import (ObjectProxy, CallableObjectProxy, FunctionWrapper,
ModuleNotFoundError: No module named 'wrapt.wrappers'

谢谢

【问题讨论】:

    标签: python windows pylint


    【解决方案1】:

    安装

    Pylint 需要 astroid 包(越晚越好)。

    https://github.com/PyCQA/astroid
    

    安装应该很简单

    python -m pip install astroid

    Pylint 需要 isort 包(越晚越好)。

    https://github.com/timothycrosley/isort
    

    安装应该很简单

    python -m pip install isort

    如果您想从源代码分发版安装,请解压缩 tarball 并运行以下命令

    python setup.py 安装

    您必须以类似的方式安装依赖项。对于 debian 和 rpm 包,请根据您的 Linux 发行版使用常用工具。

    有关安装和可用分发格式的更多信息可以在 doc 子目录的用户手册中找到。

    安装完这两个依赖后,再次尝试安装pylint。

    【讨论】:

    • isort 依赖项已正确安装,但 astroid 依赖项会生成我在问题中提出的异常。
    • pypi.python.org/packages/15/ef/… 下载解压后运行:python setup.py install
    • 完成,但没有任何改变。我在第一篇文章中添加了一些额外的信息。感谢您的帮助!
    猜你喜欢
    • 2023-04-09
    • 1970-01-01
    • 2013-05-07
    • 2012-06-16
    • 1970-01-01
    • 2018-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多