MENU

camelot

使用Python3+Camelot+Pdfplumber+Centos8 解析pdf表格过程中的问题

环境:
系统:Centos8 Python3版本:3.9.2 Camelot-py库的版本:0.57

在Centos8环境下遇到的问题

  • Centos下运行程序报错ModuleNotFoundError: No module named '_sqlite3'

报这个错误的原因是Centos没有安装sqlite-devel库

dnf install sqlite-devel

安装后运行程序发现让然报错。后来发现sqlite-devel需要在编译python之前安装,那么好吧,接下来重新编译python3

cd /usr/local/lib/python3.x
.configure --prefix=/usr/local/lib/
make&make install

再次运行程序,就不会出现报错了~


  • Centos下运行程序报错ModuleNotFoundError: No module named '_bz2'

出现这种错误的原因一般是由于python3的lib-dynload中缺少 _bz2.cpython-38-x86_64-linux-gnu.so这个动态链接库
造成这种情况很有可能是:后期在系统中安装了其他或更高的python版本所导致。解决办法就是将系统中原有的那个python链接库复制到新版本的里面来就可以。那么开始操作。(没有的可以下载我这个~)
_bz2.cpython-36m-x86_64-linux-gnu.so
将这个so文件放入/usr/local/lib/python3.x/lib-dynload/文件夹下,并改名为_bz2.cpython-3[Xm]-x86_64-linux-gnu.so
这里注意中括号里的变量X和m字符,X表示你的python版本,m的意思是:3.9以下版本必须添加m,3.9及以上版本无需m。
如果使用的是我的文件,请设置好执行权限

chmod +x _bz2.cpython-39-x86_64-linux-gnu.so

接下来运行程序,已无报错!

到目前为止,由于Centos8环境所造成的问题,只发现这2个,后续出现还会更新~







Read More