Python ImportError: cannot import name utils

Python ImportError: cannot import name utils

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

[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 不能吗?

未安装 utils 包

您可以使用

安装包
sudo pip install utils

好吧,在 pip uninstall requests 并重新安装后,它根本无法运行。幸运的是,dnf install python-requests 修复了整个问题...

检查是否满足请求要求:

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

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

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

我 运行 在 运行 Jupyter 实验室时遇到了类似的问题:

$ 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 并解决了问题。