Linux Mint 18.3下运行MAT工具出现Python导入错误求助
我之前在老版本Ubuntu衍生发行版上也碰到过一模一样的MAT启动问题,大概率是安装包不完整或者Python2.7模块路径异常导致的。先把你提供的错误栈贴出来方便参考:
Traceback (most recent call last):
File "/usr/bin/mat", line 10, in
from libmat import mat
File "/usr/lib/python2.7/dist-packages/libmat/mat.py", line 22, in
import strippers # this is loaded here becau...
下面给你几个经过验证的修复步骤,按顺序尝试即可:
第一步:检查strippers模块文件是否存在
先确认MAT核心模块目录里的strippers子目录是否有内容,运行命令:ls /usr/lib/python2.7/dist-packages/libmat/strippers/如果输出为空,说明你的MAT安装包不完整——这是老版本Debian/Ubuntu衍生发行版仓库包的常见问题,需要重新安装或通过源码补全。
第二步:彻底重装MAT及其依赖
先完全卸载现有MAT并清理残留文件:sudo apt purge mat sudo apt autoremove --purge sudo apt clean然后更新软件源并重新安装:
sudo apt update sudo apt install mat安装完成后直接运行
mat测试,要是还报错就试试源码安装方案。第三步:从源码安装最新稳定版MAT
老发行版仓库里的MAT版本往往偏旧,容易出现兼容性问题,源码安装能解决大部分依赖和模块缺失问题:- 先安装所有必需依赖:
sudo apt install python-gi python-gi-cairo python-pil python-mutool python-pdfminer python-libxml2 python-libxslt1 - 从MAT官方渠道下载最新稳定版源码包,解压后进入源码目录;
- 执行安装命令:
sudo python setup.py install - 安装完成后运行
mat,基本就能正常启动了。
- 先安装所有必需依赖:
第四步:修复Python2.7模块路径
如果上述步骤都没用,可能是Python的模块路径没包含MAT的目录,先检查路径:python2.7 -c "import sys; print('\n'.join(sys.path))"看看
/usr/lib/python2.7/dist-packages/libmat是否在输出列表里,如果不在,临时添加路径测试:export PYTHONPATH=/usr/lib/python2.7/dist-packages:$PYTHONPATH mat如果能正常启动,就把这个环境变量永久添加到bash配置里:
echo 'export PYTHONPATH=/usr/lib/python2.7/dist-packages:$PYTHONPATH' >> ~/.bashrc source ~/.bashrc
内容的提问来源于stack exchange,提问作者s3voch7

