pyinstaller 打包含有docx库的方法

简单说明
pyinstaller -F
#将文件打包成一个exe文件
pyinstaller --hidden-import 模块名
#将使用的模块也打包到程序中
pyinstaller -i ico文件名
#指定打包的程序使用的图标

当要打包的py程序中包含有创建一个空白的docx文档时
使用常规的命令是会报错的,错误示范

pyinstaller -F 1.py -i 1.ico --hidden-import python-docx

此时打包的程序执行后通常会报这个错误
pyinstaller 打包含有docx库的方法提示找不到 “default.docx” 这个文件,经过多次实验发现实际上docx模块创建空白docx文件时,是打开的这个
安装docx模块安装模块中的这个文件,当打包为exe文件后c编译器无法找到这个default.docx,自然就会报错
(PS:直接把"default.docx" 方法到打包的exe程序目录中也会报错。)
这个时候,我们要稍稍改动下代码
需要将docx创建文档的代码

#旧代码
doc = docx.Document()

改为

#新代码
doc = docx.Document(docx=os.path.join(os.getcwd(), 'default.docx'))

然后打包程序

pyinstaller -F 1.py -i 1.ico --hidden-import python-docx

打包完后将 “default.docx” 这个文件放到打包的exe程序的路径中,此时在执行就不会报错了。