没有名为“符号”的模块

我的 pip 有问题。最近我在尝试安装任何软件包时遇到错误错误是:( Pyautogui )

Traceback (most recent call last):
  File "C:Usersrati_OneDriveDesktopPyAutoGUI-0.9.53.tarPyAutoGUI-0.9.53PyAutoGUI-0.9.53setup.py", line 4, in <module>
    from setuptools import setup
  File "C:Usersrati_AppDataLocalProgramsPythonPython310libsite-packagessetuptools__init__.py", line 12, in <module>
    from setuptools.extension import Extension
  File "C:Usersrati_AppDataLocalProgramsPythonPython310libsite-packagessetuptoolsextension.py", line 7, in <module>
    from setuptools.dist import _get_unpatched
  File "C:Usersrati_AppDataLocalProgramsPythonPython310libsite-packagessetuptoolsdist.py", line 16, in <module>
    import pkg_resources
  File "C:Usersrati_AppDataLocalProgramsPythonPython310libsite-packagespkg_resources.py", line 29, in <module>
    import symbol
ModuleNotFoundError: No module named 'symbol'

我重新安装了 pip , python 但无法修复错误......网上没有信息所以我无法修复它。有小费吗?

stack overflow No Module Named 'Symbol'
原文答案
author avatar

接受的答案

模块 symbol 从一开始就是标准库的一部分。它在 Python 3.9 中被宣布弃用,最终在 3.10 中被删除。对于 Python 3.10,必须升级任何导入 symbol 的第三方库。在您的情况下,库是 pip / setuptools

pip install --upgrade pip setuptools

如果无法升级或没有针对 Python 3.10 更新的更新版本的库,则唯一的解决方案是降级 Python。


答案:

作者头像

尝试使用非工作的 pip 实例修复 pip 对我来说似乎有点不对劲。

我知道,这个答案很长,但我想告诉你我是如何在我自己的笔记本电脑上解决这个问题的:

我将文件 /usr/lib/python3/dist-packages/symbol.py 从旧的、长期未更新的笔记本电脑复制到新笔记本电脑的相同位置。
然后我收到另一个错误,说无法从 Mapping 导入 collections 。我找到的解决方案是将 .abc 添加到错误消息中指定的文件中的 collections 部分( from collections import Mapping, MutableMappingfrom collections.abc import Mapping, MutableMapping ),这导致它抱怨 MutableMapping 不是集合的属性.
我发现你也可以使用模块 typing 而不是 collections (对我来说它工作正常)然后我运行 pip3,查看错误消息中的文件,将 collections 替换为 collections.abc 它抱怨的地方(多次循环这个例程)然后我显示了 pip3 的使用选项。
然而,当试图安装任何东西时,它会打印出一个红色的 Traceback,然后是另一个正常终端颜色的 traceback。我用 this 建议修复了它:下载 get-pip.py 然后运行它。它似乎有效,我刚刚用它更新了一些 Python3 包。要修复使用 sudo 运行的 pip3,只需以 root 身份运行 get-pip.py

我不确定,但可能只是运行 get-pip.py 而没有所有其他步骤会修复它,我不知道。