首页 > 其他分享 >解决 Autoit Pyinstaller OSError: Cannot load AutoItX from path

解决 Autoit Pyinstaller OSError: Cannot load AutoItX from path

时间:2023-09-14 12:46:33浏览次数:37  
标签:load OSError Pyinstaller dll exe autoit pyinstaller spec 打包

pyinstaller打包

pyinstaller比较重要的命令,-F,-D(默认方式,可不指定),-w
-F 把所有依赖的dll都打包到了exe中,缺点是启动巨慢,特别是依赖了深度学习框架等多种包后
-D 除了exe还会生成很多动态库,启动比-F方式要快很多,但是相比脚本执行,依然会慢很多
-w 不弹出终端

正常编译和打包

# 当前环境下的 pyinstaller
$PyInterpreterDirectory$\pyinstaller.exe -F -w -i .\static\logo.ico .\main.py

没有找到 DLL 出错:

File "site-packages\autoit\autoit.py", line 26, in <module>
OSError: Cannot load AutoItX from path:
C:\Users\AppData\Local\Temp\_MEI179202\autoit\lib\AutoItX3_x64.dll
[22596] Failed to execute script filename

_MEI179202 文件夹是一个临时文件夹,程序在运行时没找到dll,所以要在打包时加入。 其他也通用的。在spec文件中,将对应的dll路径加入再打包即可。 而这个缺失的dll,可以到安装库Lib里去找,如:

E:/GitProjects/python/venv_happy/Lib/site-packages/autoit/lib/AutoItX3_x64.dll

注意有 小括号() 别漏了!!还有后面是autoit\\lib

这里有2个dll,一个64位,为了兼容,可以把2个都加进来
image

更改完spec后,打包(不需要加任何参数,生成 spec 的时候已经加过了):

pyinstaller main.spec

扩展说明

配置.spec 文件
第一次运行打包命令后,会生成xx.spec文件,如果打包后,exe成功启动,那我恭喜你。如果没有成功,就需要修改.spec文件了。

其实,打包后exe无法正常启动的原因就一个,缺少了dll。那么解决方式也就简单粗暴了,缺啥补啥!
至于缺啥,可以看看终端中输出的信息。

标签:load,OSError,Pyinstaller,dll,exe,autoit,pyinstaller,spec,打包
From: https://www.cnblogs.com/ddgo/p/17702207.html

相关文章

  • 使用pyinstaller和electron将python打包为桌面端应用,无法在win7上执行
    在win10或win11上开发的软件,直接在win7上运行,可能导致下面的问题(python3.11electron23.*)(python3.7electron23.*) 原因在于:win10或win11上的开发环境(如python版本,electron版本)过高,win7不支持该环境。解决办法:降低python版本和electron版本,如:win7支持的python3.7和electron1......
  • 使用pyinstaller打包python(anaconda虚拟环境),生成exe文件过大,改用pipenv创建虚拟环境
    pipenv创建虚拟环境时,创建的python环境必须和本机python版本一致。因为本机的python是anaconda默认的python3.11,所以需要先激活conda下的win7py的虚拟环境。接下来才能使用pipenv–python3.7创建python3.7虚拟环境。 激活虚拟环境pipenvshell 根据项目依赖环境下载相应......
  • 七牛云存储____官方js上传(基于pupload插件)
    <%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%><%Stringpath=request.getContextPath();StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getS......
  • pyinstaller 报错ImportError: No module named _bootlocale
    生成环境的安装包,执行如下命令会有报错:pyinstaller-wF-pvenv310/Scripts-pvenv310/Lib/site-packages--add-data"./fish.jpg:."--add-data"./kb.ini:."-ifish.ico-nprogram_namemain.py328INFO:PyInstaller:3.6328INFO:Python:3.10.11343INFO:......
  • 用pyinstaller打包为什么会报错?
    大家好,我是皮皮。一、前言前几天在Python钻石群【年鱼鱼......
  • Vue~vue3-sfc-loader用法
    1.vue2-sfc-loader版本参考这个:(vue2&vue2-sfc-loader)https://article.juejin.cn/post/72369546129882972742.vue3-sfc-loader版本的基础写法:(vue3&vue3-sfc-loader)<template><div><component:is="data.remote"v-if="data.remote&q......
  • 基于vue制作的动画组件loading起来
    ......
  • 百度开源上传组件webuploader
    //上传多文件   functionUploadMultiFile(){       varuploader=WebUploader.create({           //选完文件后,是否自动上传。           auto:true,           //swf文件路径           swf:'~/Cont......
  • PyInstaller 打包 exe 的教程
    下面是更详细的PyInstaller打包exe的教程,包括各个参数的使用说明:步骤1:安装PyInstaller首先,确保你已经安装了Python,并且能够通过命令行使用。然后,打开命令行,并执行以下命令来安装PyInstaller:pipinstallpyinstaller步骤2:创建一个打包文件在你的项目文件夹中,使......
  • 性能优化之window.onload
    前言最近在做一些性能优化相关的工作,相信大家在工作过程中也会遇到一些性能优化相关的场景,这对于前端开发者来讲是一项加分技能。为了我们的用户在使用我们的产品时能够有一个非常好的体验,我们需要对页面进行诊断优化。在行业中,我们的页面P90在两秒内算是达标,超过这个时间那么你......