今天使用pyinstaller打包好脚本,执行打包好的程序后,出现如下的报错:
这个问题花了我一个上午,在网上查找相关的解决方法,然而不知道是我的搜索方式有问题,还是这个资料比较少,找了很久,只找到了一篇极度相关的文章:https://blog.csdn.net/weixin_46457351/article/details/133344354 。
这篇文章看着很复杂,用到的命令贼多。其实就只有一个指令可能是对这个问题有帮助的:--add-data "xxx\Lib\site-packages\curl_cffi.libs\libcurl-xxx.dll;."
使用这个参数要注意了,--add-daa
后面的内容要用双引号包起来,后面接的值的结构是: 源;目标"
,其中“源”是文件或目录的路径,“目标”是这些文件或目录在打包后的应用程序中的相对路径(以应用程序的根目录为基准) 。
但我后面没用这个方法,因为每次都要这么搞,贼麻烦。后面我无意看到打包时输出的一行内容,正是这个内容,让我用最简洁的方法解决了这个问题。这行内容是:
看到这个,我就觉得是因为缺少这个dll文件,于是我就在电脑上搜索了libzstd-4a24f8e0e538f6782383866e3242d5c7.dll
这个文件,发现这个dll文件的位置在curl_cffi
包的邻居curl_cffi.libs
那
里面一堆dll,然后我就直接把这里的所有文件全部复制到了curl_cffi
文件夹下面,重新打包后,这个程序执行就正常了