【问题标题】:ImportError: cannot import name 'IncompleteRead' - WindowsImportError:无法导入名称“IncompleteRead”-Windows
【发布时间】:2018-10-29 09:36:08
【问题描述】:

这个问题似乎以前已经回答过,但似乎只发生在 linux 上。

我对文件的唯一导入是 import http.client ,完整错误如下:

Error:  An error occurred while installing html!
Command "python setup.py egg_info" failed with error code 1 in 
C:\Users\Robert\AppData\Local\Temp\pip-install-nwrzaprg\html\

This is likely caused by a bug in html. Report this to its maintainers.

(online_email-fRueOS4x) C:\Users\Robert\Desktop\stevesjobs_email>python 
auth0.py
Traceback (most recent call last):
  File "auth0.py", line 1, in <module>
    import http.client
  File "c:\users\robert\appdata\local\programs\python\python36- 
   32\Lib\http\client.py", line 71, in <module>
    import email.parser
  File "C:\Users\Robert\Desktop\online_email\email.py", line 2, in 
<module>
    import requests
  File "C:\Users\Robert\.virtualenvs\online_email-fRueOS4x\lib\site- 
packages\requests\__init__.py", line 43, in <module>
import urllib3
  File "C:\Users\Robert\.virtualenvs\online_email-fRueOS4x\lib\site- 
packages\urllib3\__init__.py", line 8, in <module>
     from .connectionpool import (
  File "C:\Users\Robert\.virtualenvs\online_email-fRueOS4x\lib\site- 
packages\urllib3\connectionpool.py", line 11, in <module>
    from .exceptions import (
   File "C:\Users\Robert\.virtualenvs\online_email-fRueOS4x\lib\site- 
packages\urllib3\exceptions.py", line 2, in <module>
    from .packages.six.moves.http_client import (
ImportError: cannot import name 'IncompleteRead'

我正在使用 pipenv。可能导致这种情况的原因是我最近在我的 Windows 10 上安装了 linux shell 以使用 Hyper。但是这个项目我是从我的标准 Windows shell 运行的。

我很迷茫。任何帮助将不胜感激!

【问题讨论】:

    标签: python python-3.x pip pipenv


    【解决方案1】:

    您的问题可能是您的环境中有一个名为 email.py 的文件。

    Traceback (most recent call last):
      File "auth0.py", line 1, in <module>
        import http.client
      File "c:\users\robert\appdata\local\programs\python\python36-32\Lib\http\client.py", line 71, in <module>
        import email.parser
      File "C:\Users\Robert\Desktop\online_email\email.py", line 2, in 
    <module>
    

    在 auth0.py 中,你写了

    import http.client
    

    在您环境的 http.client 模块中,有一个

    import email.parser
    

    这应该会导致从 python 环境中导入email.parser 模块,但是解释器在这个位置找到了一个名为email.py 的文件:C:\Users\Robert\Desktop\online_email\email.py。由于这个文件是由 python 解释器加载的,你会得到你遇到的错误。修复您的环境 (PYTHONPATH) 以确保在 Python 内置库之后加载您的自定义库,或者更好的是,不要使用 email.py 作为脚本的名称;)

    【讨论】:

    • 这正是问题所在。我是一个傻瓜。进行电子邮件中继,重要的是不要提供这样的名称。非常感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-31
    • 2014-10-10
    相关资源
    最近更新 更多