在linux下用pyinstaller打包py脚本,发现找不到一部分模块

在windows下我似乎还没遇到这样的问题,今天有个脚本想放到服务器上,不想在服务器上安装环境,于是在我本地虚拟机先进行打包,类库都用pip安装好,直接执行也没问题,但是pyinstaller打包以后运行提示找不到类库。

在linux下用pyinstaller打包py脚本,发现找不到一部分模块_第1张图片

我猜想是它在打包的时候没有找到相应的类库,也就是pyinstaller可能没有扫描到我的类库路径,针对于此,我查看日志:

在linux下用pyinstaller打包py脚本,发现找不到一部分模块_第2张图片

发现日志里有显示找不到我需要的两个模块。虽然打包成功,但是实际是丢失了一部分,为了能让它找到,手动给它指定类库位置,用 -p(设置导入路径(和使用PYTHONPATH效果相似).可以用路径分割符(Windows使用分号,Linux使用冒号)分割,指定多个目录.也可以使用多个-p参数来设置多个导入路径,让pyinstaller自己去找程序需要的资源)。

重新打包

在linux下用pyinstaller打包py脚本,发现找不到一部分模块_第3张图片

这个路径是这些类库的路径,在linux下类库一般是装在/usr/local/lib下面。如果不知道在哪里,可以用pip show命令查看

在linux下用pyinstaller打包py脚本,发现找不到一部分模块_第4张图片

日志中也没有看到这个类库丢失报错了,至于里面显示找不到的类库,我本来也没有引,所以就不关心了。

在linux下用pyinstaller打包py脚本,发现找不到一部分模块_第5张图片

执行下打包后的程序:

在linux下用pyinstaller打包py脚本,发现找不到一部分模块_第6张图片

成功!

 

你可能感兴趣的:(linux)