想通过批处理文件快速运行python的可执行程序,但是会有一个找不到python模块的报错,试了试网上重新利用pyinstaller生成exe的方法,还是不行,请问怎么解决呢?
(bat文件内容,文件夹内容,报错内容如下图所示)
1、先解决你原先报错的问题
-D, --onedir 创建一个包含可执行文件的单文件夹捆绑包(默认)
-F, --onefile 创建一个文件捆绑可执行文件。
不加参数默认是-D,打包成一个文件夹,你打包完成以后生成的exe文件都会在dist目录下
你运行exe文件时时,是需要在dist目录引用其他资源,所以需要把所有关于工具所需的资源(包含图片以及依赖的.py文件都放进dist下的项目目录中)
这时再次运行exe,此应该就可以运行成功
2、你加了-F参数后运行正常,是因为你把运行py所需的环境包括模块或者其他资源都打包到exe文件了,此时的exe已经包含了运行所需的所偶遇依赖,所以就不报错了
已解决,但是还是不是很懂原理
我本来是直接在终端中用“pyinstaller pdf_extractor.py”生成exe,这样的exe无法正常运行
但是把命令改成“pyinstaller -F pdf_extractor.py”之后就正常了
请问这是为什么呢?