【问题标题】:Python ImportError: cannot import name utilsPython ImportError:无法导入名称工具
【发布时间】:2016-05-08 04:57:28
【问题描述】:

我在运行脚本时遇到了这个问题,看起来它缺少一些依赖项,但正如您在下面看到的那样。安装完缺少的库后,就没有任何意义了。

[ericfoss@maverick-fossum-ddns-net packages]$ python -c "import utils"
[ericfoss@maverick-fossum-ddns-net packages]$ python -c "import requests"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/lib/python2.7/site-packages/requests/__init__.py", line 64, in <module>
    from . import utils
ImportError: cannot import name utils
[ericfoss@maverick-fossum-ddns-net packages]$ 

知道为什么utils 可以导入,而requests 不能导入吗?

【问题讨论】:

    标签: python python-2.7 python-import


    【解决方案1】:

    检查是否满足请求要求:

    $ pip show requests
    ...
    Requires: certifi, idna, chardet, urllib3
    

    我遇到了同样的错误,但我错过了idna。安装后问题解决了。

    【讨论】:

      【解决方案2】:

      好吧,在pip uninstall requests 并重新安装之后,它就不再工作了。幸运的是,dnf install python-requests 修复了整个问题...

      【讨论】:

        【解决方案3】:

        我们可能会在多种情况下看到无法导入实用程序错误。 我在将脚本从 python 2 迁移到 3 时收到此错误消息。 我使用内置的 python 迁移自动化工具来更改导致导入错误的文件,使用命令2to3 -w filename 这已经解决了错误,因为 python 3 不支持 import utils,我们必须将该代码转换为 python 3。

        【讨论】:

          【解决方案4】:

          我在运行 Jupyter Lab 时遇到了类似的问题:

          $ jupyter-lab --ip 0.0.0.0
          Traceback (most recent call last):
            File "/Users/gtholpadi/opt/anaconda3/bin/jupyter-lab", line 6, in <module>
              from jupyterlab.labapp import main
            File "/Users/gtholpadi/opt/anaconda3/lib/python3.8/site-packages/jupyterlab/labapp.py", line 14, in <module>
              from jupyterlab_server import slugify, WORKSPACE_EXTENSION
            File "/Users/gtholpadi/opt/anaconda3/lib/python3.8/site-packages/jupyterlab_server/__init__.py", line 4, in <module>
              from .app import LabServerApp
            File "/Users/gtholpadi/opt/anaconda3/lib/python3.8/site-packages/jupyterlab_server/app.py", line 10, in <module>
              from .handlers import add_handlers, LabConfig
            File "/Users/gtholpadi/opt/anaconda3/lib/python3.8/site-packages/jupyterlab_server/handlers.py", line 18, in <module>
              from .listings_handler import ListingsHandler, fetch_listings
            File "/Users/gtholpadi/opt/anaconda3/lib/python3.8/site-packages/jupyterlab_server/listings_handler.py", line 17, in <module>
              import requests
            File "/Users/gtholpadi/opt/anaconda3/lib/python3.8/site-packages/requests/__init__.py", line 120, in <module>
              from . import utils
          ImportError: cannot import name 'utils' from partially initialized module 'requests' (most likely due to a circular import) (/Users/gtholpadi/opt/anaconda3/lib/python3.8/site-packages/requests/__init__.py)
          

          requests 在我收到此错误时已经安装。我试过pip install -U requests 解决了这个问题。

          【讨论】:

            【解决方案5】:

            utils 包没有安装

            你可以使用安装包

            sudo pip install utils
            

            【讨论】:

            • 正如您在问题中看到的那样,utils 导入就好了。
            • 这里缺少的 utils 来自 requests 包,从 pip 安装 utils 包在这里没有帮助。
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2016-10-02
            • 2014-09-27
            • 2020-04-09
            • 2016-12-24
            • 2012-11-12
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多