在windows下我似乎还没遇到这样的问题,今天有个脚本想放到服务器上,不想在服务器上安装环境,于是在我本地虚拟机先进行打包,类库都用pip安装好,直接执行也没问题,但是pyinstaller打包以后运行提示找不到类库。
我猜想是它在打包的时候没有找到相应的类库,也就是pyinstaller可能没有扫描到我的类库路径,针对于此,我查看日志:
发现日志里有显示找不到我需要的两个模块。虽然打包成功,但是实际是丢失了一部分,为了能让它找到,手动给它指定类库位置,用 -p(设置导入路径(和使用PYTHONPATH效果相似).可以用路径分割符(Windows使用分号,Linux使用冒号)分割,指定多个目录.也可以使用多个-p参数来设置多个导入路径,让pyinstaller自己去找程序需要的资源)。
重新打包
这个路径是这些类库的路径,在linux下类库一般是装在/usr/local/lib下面。如果不知道在哪里,可以用pip show命令查看
日志中也没有看到这个类库丢失报错了,至于里面显示找不到的类库,我本来也没有引,所以就不关心了。
执行下打包后的程序:
成功!