枫之叶 世界是平衡的,每个人都是通过自己的努力,去决定自己生活的样子。

Centos7 Python3源码安装bz2

C

介绍

根据网上资料介绍的方法,很多无法解决,花了点时间,也算解决了,以下为此次解决后的记录!
关键:
- bzip2源码安装时指定参数;
- python需要重新安装;

这样,最终解决了问题!

问题

In [1]: import pandas as pd
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
……
/data/.pyenv/versions/3.6.7/envs/test/lib/python3.6/site-packages/pandas/io/common.py in <module>
      1 """Common IO api utilities"""
      2
----> 3 import bz2
      4 from collections import abc
      5 import gzip


/data/.pyenv/versions/3.6.7/lib/python3.6/bz2.py in <module>
     21     from dummy_threading import RLock
     22
---> 23 from _bz2 import BZ2Compressor, BZ2Decompressor
     24
     25


ModuleNotFoundError: No module named ‘_bz2'




In [2]: from _bz2 import BZ2Compressor, BZ2Decompressor
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-2-1b67f480f8d7> in <module>
----> 1 from _bz2 import BZ2Compressor, BZ2Decompressor


ModuleNotFoundError: No module named '_bz2'

这个问题解决花了不少时间,记录下!

解决

yum安装

yum search bzip2  //查询安装包
yum -y install bzip2.x86_64

源码安装

Yum安装可能有问题?经过查看,之前是有用yum安装过的,但是python3就是安装不上bz2,那就通过源码安装吧

# 1. 下载bzip2,这几个都可以下载
# https://centos.pkgs.org/7/centos-x86_64/bzip2-1.0.6-13.el7.x86_64.rpm.html
# https://sourceforge.net/projects/bzip2/
# https://github.com/nemequ/bzip2/releases

# 2. 解压
tar -zxf  bzip2-1.0.6.tar.gz
cd bzip2-1.0.6 

# 3. 这一步比较重要,使bzip2 根据另一个Makefile来编译,就是Makefile-libbz2_so文件,创建一个动态的libbz.so库文件,然后把bzip2工具连接到这个库上
## 注:装python的时候如果没有这一步,python安装不上bz2模块
make -f  Makefile-libbz2_so

# 4. 安装
make && make install

# 5. 卸载
## 注:如果要重新安装bzip2,要先执行:rm -vf /usr/bin/bz* 命令,不然make install 命令会失败
rm -vf /usr/bin/bz*

python需要重新安装(重要),博主用的pyenv

# 服务器下载太慢,可以用先本地下载好,https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tar.xz
pyenv install 3.6.8
pyenv virtualenv 3.6.8 test
pyenv activate test

# 测试下
(test) ➜  ~ python
Python 3.6.8 (default, Jun 19 2020, 13:51:46)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import bz2
>>>

正常了!

参考

  • centos 7 安装 bzip2 bz2解压使用:https://blog.csdn.net/whatday/article/details/105054047
  • Python3安装bz2:https://blog.csdn.net/guotong1988/article/details/78392213
  • https://stackoverflow.com/questions/12806122/missing-python-bz2-module

(完)

About the author

Add Comment

枫之叶 世界是平衡的,每个人都是通过自己的努力,去决定自己生活的样子。

碎言碎语

有点小懒,不定期更新

分类目录

标签