news 2026/5/23 4:21:21

PyCharm下安装pandas错误:AttributeError: module ‘pkgutil‘ has no attribute ‘ImpImporter‘

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PyCharm下安装pandas错误:AttributeError: module ‘pkgutil‘ has no attribute ‘ImpImporter‘

一、错误提示:AttributeError: module 'pkgutil' has no attribute 'ImpImporter'

准备在PyCharm下面安装pandas,报错:
AttributeError: module 'pkgutil' has no attribute 'ImpImporter'. Did you mean: 'zipimporter'?

安装python包,反复尝试不同版本的问题。折腾一下后,在终端使用以下命令解决:

py -m ensurepip --upgrade

再次安装pandas成功。

刚开始运行有点问题,好像没装载上。

在软件包中,再次安装一下成功。调试正常。

二、二次波折

换了另一台比较复杂的系统,又出现类似的错误。在终端使用以下命令重新安装成功。

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

python get-pip.py

​ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python get-pip.py ​

解释原因::
核心原因:虚拟环境里有一套“过旧的 pip / setuptools / pkg_resources”,不兼容 Python 3.12。
在 Python 3.12 中,pkgutil.ImpImporter 已被彻底移除。但你当时使用的 pip 内部仍通过 pkg_resources 去访问这个已删除的 API,于是触发了:
AttributeError: module 'pkgutil' has no attribute 'ImpImporter'
也就是:解释器是新的(3.12),包管理工具是旧的 → 直接崩。
你刚才为什么用 get-pip.py 就好了
get-pip.py 强制下载并重装了最新 pip(25.3),它自带了适配 Python 3.12 的实现,不再使用 ImpImporter。
随后又升级了 setuptools 和 wheel,三件套版本重新对齐,所以错误消失。
这一步相当于修复了被破坏/过旧的包管理栈。

界面演示:

(venv) PS C:\Users\stu-\PycharmProjects\pythonProject2> curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py (venv) PS C:\Users\stu-\PycharmProjects\pythonProject2> python get-pip.py Collecting pip Using cached pip-26.1.1-py3-none-any.whl.metadata (4.6 kB) Using cached pip-26.1.1-py3-none-any.whl (1.8 MB) Installing collected packages: pip Attempting uninstall: pip Found existing installation: pip 26.1.1 Uninstalling pip-26.1.1: Successfully uninstalled pip-26.1.1 Successfully installed pip-26.1.1

三、部分提示信息

Windows PowerShell
版权所有 (C) Microsoft Corporation。保留所有权利。

尝试新的跨平台 PowerShell https://aka.ms/pscore6

[PyCharm] Your PSReadLine module version (2.0.0) is outdated, which may cause the problem with black lines across the terminal screen:
https://learn.microsoft.com/windows/terminal/troubleshooting#black-lines-in-powershell-51-6x-70
Install the latest version by running: 'Install-Module PSReadLine -MinimumVersion 2.0.3 -Scope CurrentUser -Force'
After the installation, open a new terminal tab.

(venv) PS C:\Users\stu-\PycharmProjects\pythonProject> pip install pandas
ERROR: Exception:
Traceback (most recent call last):
File "C:\Users\stu-\PycharmProjects\pythonProject\venv\Lib\site-packages\pip\_internal\cli\base_command.py", line 160, in exc_logging_wrapper
status = run_func(*args)
File "C:\Users\stu-\PycharmProjects\pythonProject\venv\Lib\site-packages\pip\_internal\cli\req_command.py", line 247, in wrapper
return func(self, options, args)
File "C:\Users\stu-\PycharmProjects\pythonProject\venv\Lib\site-packages\pip\_internal\commands\install.py", line 326, in run
session = self.get_default_session(options)
File "C:\Users\stu-\PycharmProjects\pythonProject\venv\Lib\site-packages\pip\_internal\cli\req_command.py", line 98, in get_default_session
self._session = self.enter_context(self._build_session(options))
~~~~~~~~~~~~~~~~~~~^^^^^^^^^
File "C:\Users\stu-\PycharmProjects\pythonProject\venv\Lib\site-packages\pip\_internal\cli\req_command.py", line 125, in _build_session
session = PipSession(
cache=os.path.join(cache_dir, "http") if cache_dir else None,
...<3 lines>...
ssl_context=ssl_context,
)
File "C:\Users\stu-\PycharmProjects\pythonProject\venv\Lib\site-packages\pip\_internal\network\session.py", line 343, in __init__
self.headers["User-Agent"] = user_agent()
~~~~~~~~~~^^
File "C:\Users\stu-\PycharmProjects\pythonProject\venv\Lib\site-packages\pip\_internal\network\session.py", line 175, in user_agent
setuptools_dist = get_default_environment().get_distribution("setuptools")
File "C:\Users\stu-\PycharmProjects\pythonProject\venv\Lib\site-packages\pip\_internal\metadata\importlib\_envs.py", line 188, in get_distribution
return next(matches, None)
File "C:\Users\stu-\PycharmProjects\pythonProject\venv\Lib\site-packages\pip\_internal\metadata\importlib\_envs.py", line 185, in <genexpr>
for distribution in self.iter_all_distributions()
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\stu-\PycharmProjects\pythonProject\venv\Lib\site-packages\pip\_internal\metadata\base.py", line 612, in iter_all_distributions
for dist in self._iter_distributions():
~~~~~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\stu-\PycharmProjects\pythonProject\venv\Lib\site-packages\pip\_internal\metadata\importlib\_envs.py", line 176, in _iter_distributions
for dist in finder.find_eggs(location):
~~~~~~~~~~~~~~~~^^^^^^^^^^
File "C:\Users\stu-\PycharmProjects\pythonProject\venv\Lib\site-packages\pip\_internal\metadata\importlib\_envs.py", line 146, in find_eggs
yield from self._find_eggs_in_zip(location)
File "C:\Users\stu-\PycharmProjects\pythonProject\venv\Lib\site-packages\pip\_internal\metadata\importlib\_envs.py", line 123, in _find_eggs_in_zip
from pip._vendor.pkg_resources import find_eggs_in_zip
File "C:\Users\stu-\PycharmProjects\pythonProject\venv\Lib\site-packages\pip\_vendor\pkg_resources\__init__.py", line 2164, in <module>
register_finder(pkgutil.ImpImporter, find_on_path)
^^^^^^^^^^^^^^^^^^^
AttributeError: module 'pkgutil' has no attribute 'ImpImporter'. Did you mean: 'zipimporter'?
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "C:\Users\stu-\PycharmProjects\pythonProject\venv\Scripts\pip.exe\__main__.py", line 7, in <module>
sys.exit(main())
~~~~^^
File "C:\Users\stu-\PycharmProjects\pythonProject\venv\Lib\site-packages\pip\_internal\cli\main.py", line 70, in main
return command.main(cmd_args)
~~~~~~~~~~~~^^^^^^^^^^
File "C:\Users\stu-\PycharmProjects\pythonProject\venv\Lib\site-packages\pip\_internal\cli\base_command.py", line 101, in main
return self._main(args)
~~~~~~~~~~^^^^^^
File "C:\Users\stu-\PycharmProjects\pythonProject\venv\Lib\site-packages\pip\_internal\cli\base_command.py", line 216, in _main
self.handle_pip_version_check(options)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
File "C:\Users\stu-\PycharmProjects\pythonProject\venv\Lib\site-packages\pip\_internal\cli\req_command.py", line 179, in handle_pip_version_check
session = self._build_session(
options,
...<6 lines>...
fallback_to_certifi=True,
)
File "C:\Users\stu-\PycharmProjects\pythonProject\venv\Lib\site-packages\pip\_internal\cli\req_command.py", line 125, in _build_session
session = PipSession(
cache=os.path.join(cache_dir, "http") if cache_dir else None,
...<3 lines>...
ssl_context=ssl_context,
)
File "C:\Users\stu-\PycharmProjects\pythonProject\venv\Lib\site-packages\pip\_internal\network\session.py", line 343, in __init__
self.headers["User-Agent"] = user_agent()
~~~~~~~~~~^^
File "C:\Users\stu-\PycharmProjects\pythonProject\venv\Lib\site-packages\pip\_internal\network\session.py", line 175, in user_agent
setuptools_dist = get_default_environment().get_distribution("setuptools")
File "C:\Users\stu-\PycharmProjects\pythonProject\venv\Lib\site-packages\pip\_internal\metadata\importlib\_envs.py", line 188, in get_distribution
return next(matches, None)
File "C:\Users\stu-\PycharmProjects\pythonProject\venv\Lib\site-packages\pip\_internal\metadata\importlib\_envs.py", line 185, in <genexpr>
for distribution in self.iter_all_distributions()
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\stu-\PycharmProjects\pythonProject\venv\Lib\site-packages\pip\_internal\metadata\base.py", line 612, in iter_all_distributions
for dist in self._iter_distributions():
~~~~~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\stu-\PycharmProjects\pythonProject\venv\Lib\site-packages\pip\_internal\metadata\importlib\_envs.py", line 176, in _iter_distributions
for dist in finder.find_eggs(location):
~~~~~~~~~~~~~~~~^^^^^^^^^^
File "C:\Users\stu-\PycharmProjects\pythonProject\venv\Lib\site-packages\pip\_internal\metadata\importlib\_envs.py", line 146, in find_eggs
yield from self._find_eggs_in_zip(location)
File "C:\Users\stu-\PycharmProjects\pythonProject\venv\Lib\site-packages\pip\_internal\metadata\importlib\_envs.py", line 123, in _find_eggs_in_zip
from pip._vendor.pkg_resources import find_eggs_in_zip
File "C:\Users\stu-\PycharmProjects\pythonProject\venv\Lib\site-packages\pip\_vendor\pkg_resources\__init__.py", line 2164, in <module>
register_finder(pkgutil.ImpImporter, find_on_path)
^^^^^^^^^^^^^^^^^^^
AttributeError: module 'pkgutil' has no attribute 'ImpImporter'. Did you mean: 'zipimporter'?
(venv) PS C:\Users\stu-\PycharmProjects\pythonProject> py -m ensurepip --upgrade
Looking in links: c:\Users\stu-\AppData\Local\Temp\tmpeal7s38_
Requirement already satisfied: pip in c:\users\stu-\pycharmprojects\pythonproject\venv\lib\site-packages (22.3.1)
Processing c:\users\stu-\appdata\local\temp\tmpeal7s38_\pip-25.2-py3-none-any.whl
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 22.3.1
Uninstalling pip-22.3.1:
Successfully uninstalled pip-22.3.1
Successfully installed pip-25.2
(venv) PS C:\Users\stu-\PycharmProjects\pythonProject> pip install pandas
Looking in indexes: https://mirrors.aliyun.com/pypi/simple
Requirement already satisfied: pandas in c:\programdata\anaconda3\lib\site-packages (2.3.3)
Requirement already satisfied: numpy>=1.26.0 in c:\programdata\anaconda3\lib\site-packages (from pandas) (2.3.5)
Requirement already satisfied: python-dateutil>=2.8.2 in c:\programdata\anaconda3\lib\site-packages (from pandas) (2.9.0.post0)
Requirement already satisfied: pytz>=2020.1 in c:\programdata\anaconda3\lib\site-packages (from pandas) (2025.2)
Requirement already satisfied: tzdata>=2022.7 in c:\programdata\anaconda3\lib\site-packages (from pandas) (2025.2)
Requirement already satisfied: six>=1.5 in c:\programdata\anaconda3\lib\site-packages (from python-dateutil>=2.8.2->pandas) (1.17.0)
(venv) PS C:\Users\stu-\PycharmProjects\pythonProject>

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/23 4:08:16

CAN一致性-物理层--高压通信范围测试

一、测试目的CAN一致性高压范围测试&#xff0c;核心目的是验证被测节点&#xff08;DUT&#xff09;在规定的高压供电范围内&#xff0c;CAN总线接口的通信性能、信号完整性及节点工作稳定性是否符合标准要求。通过模拟实际应用中可能出现的高压工况&#xff08;如电源电压波动…

作者头像 李华
网站建设 2026/5/23 4:07:21

微服务生产环境下 Filter 过滤器实战全解

目录 一、核心定位(微服务必知) 层级执行顺序 二、生产环境微服务 Filter 两大使用场景划分 1. 网关层优先使用(90% 通用全局需求放这里) 2. 业务微服务内部 Servlet Filter(仅单服务独有需求) 三、微服务中 Servlet Filter 生产实战场景(服务内部) 场景 1:生产…

作者头像 李华
网站建设 2026/5/23 4:03:55

Python __slots__ 入门指南

在 Python 中&#xff0c;我们习惯了对象的动态特性 —— 可以随时给实例添加新的属性。这非常灵活&#xff0c;但在处理大量数据对象时&#xff0c;这种灵活性会带来不小的内存开销。__slots__ 正是为了解决这个问题而生的强大工具。 本教程将带你全面了解 __slots__ 的功能、…

作者头像 李华
网站建设 2026/5/23 4:03:17

让ClaudeCode成本爆降89%,这个开源工具有点猛...

大家好&#xff0c;今天介绍一个工具一个用 Rust 写的命令行代理工具&#xff0c;专门解决 LLM/Agent 跑 Shell 命令时原始输出太啰嗦、狂烧 Token 的问题。它到底解决啥&#xff1f;你让 Claude Code、Cursor 这类 AI 助手跑 git diff、cargo test、ls -R、npm ls……原始输出…

作者头像 李华
网站建设 2026/5/23 4:02:48

IPv6网络中断问题解析与NDP缓存优化

1. IPv6网络中断问题解析我在使用Keil MDK中间件IPv6协议栈时遇到了一个典型问题&#xff1a;当NDP&#xff08;邻居发现协议&#xff09;缓存超时后&#xff0c;网络连接会意外中断。这个问题在启用IPv6隐私扩展&#xff08;使用临时地址通信&#xff09;的环境中尤为明显。具…

作者头像 李华