使用Pyinstaller对python程序进行打包,特别容易出问题,一旦陷入坑了,爬出来都要半天。
之前就遇到一个问题,PermissionError: [Errno 13] Permission denied: 'C:\\...\ucrtbase.dll
造成错误的原因是没有权限:
1、ucrtbase.dll 不存在 ,(这个是存在就下python目录下)
2、ucrtbase.dll 文本被打开,有其他程序在使用(这个有可能)
这是什么鬼,换python版本,各种方式都无效。
3、修改cmd的权限,以管理员身份运行(试过了,还是没有用)
查看错误信息:
这个操作就是为了复制文件ucrtbase.dll,那我把这个文件的复制过程跳过去,我就手动复制可不可以:
于是修改shutil.py
我添加一行判断条件,将这个文件跳过,然后手动的将ucrtbase.dll 复制到指定目录,重新打包
pyinstaller -F pkl2pmml.spec
结果顺利过关!!!
找不到问题出在哪里,但是用土办法绕过去了,哪位高手指点一下