Docker python3.10 import pandas报错 ModuleNotFoundError: No module named ‘_bz2‘

在Docker容器中升级Python到3.10后,尝试导入pandas模块时出现错误。错误信息显示缺少_bz2模块。通过查找和重命名Python3.7的_bz2动态链接库文件到Python3.10对应的位置,成功解决了导入pandas的错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述

Dokcer中安装3.10版本的python之后(之前是3.7),安装pandas之后,报错如下:

Python 3.10.0 (default, Mar  8 2023, 06:40:09) [GCC 7.5.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pandas as pd
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.10/site-packages/pandas/__init__.py", line 48, in <module>
    from pandas.core.api import (
  File "/usr/local/lib/python3.10/site-packages/pandas/core/api.py", line 47, in <module>
    from pandas.core.groupby import (
  File "/usr/local/lib/python3.10/site-packages/pandas/core/groupby/__init__.py", line 1, in <module>
    from pandas.core.groupby.generic import (
  File "/usr/local/lib/python3.10/site-packages/pandas/core/groupby/generic.py", line 76, in <module>
    from pandas.core.frame import DataFrame
  File "/usr/local/lib/python3.10/site-packages/pandas/core/frame.py", line 172, in <module>
    from pandas.core.generic import NDFrame
  File "/usr/local/lib/python3.10/site-packages/pandas/core/generic.py", line 147, in <module>
    from pandas.core.describe import describe_ndframe
  File "/usr/local/lib/python3.10/site-packages/pandas/core/describe.py", line 45, in <module>
    from pandas.io.formats.format import format_percentiles
  File "/usr/local/lib/python3.10/site-packages/pandas/io/formats/format.py", line 105, in <module>
    from pandas.io.common import (
  File "/usr/local/lib/python3.10/site-packages/pandas/io/common.py", line 8, in <module>
    import bz2
  File "/usr/local/lib/python3.10/bz2.py", line 17, in <module>
    from _bz2 import BZ2Compressor, BZ2Decompressor
ModuleNotFoundError: No module named '_bz2'
解决方案
  • 注意这里,如果是更新后python版本是3.9+,则下面改名字时,不需要加m, 小于3.9需要添加3.6m,3.7m这样
root@4d3576302fd4:/# which python
/usr/bin/python

root@4d3576302fd4:/# ll /usr/bin/python
lrwxrwxrwx 1 root root 22 Mar 29  2022 /usr/bin/python -> /usr/local/bin/python3*

root@4d3576302fd4:/# find / -name "_bz2*"
find: '/proc/1/map_files': Operation not permitted
find: '/proc/48/map_files': Operation not permitted
/usr/lib/python3.6/lib-dynload/_bz2.cpython-36m-x86_64-linux-gnu.so
/usr/local/lib/python3.7/lib-dynload/_bz2.cpython-37m-x86_64-linux-gnu.so

# 注意这里,如果是更新后python版本是3.9+,则下面改名字时,不需要加m, 小于3.9需要添加3.6m,3.7m这样
root@4d3576302fd4:/# mv /usr/local/lib/python3.7/lib-dynload/_bz2.cpython-37m-x86_64-linux-gnu.so /usr/local/lib/python3.10/lib-dynload/_bz2.cpython-310-x86_64-linux-gnu.so

root@4d3576302fd4:/# python
Python 3.10.0 (default, Mar  8 2023, 06:40:09) [GCC 7.5.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pandas as pd
>>>
参考文章
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值