【问题标题】:Autoit Pyinstaller OSError: Cannot load AutoItX from path: C:\Users\AppData\Local\Temp\_MEI74002\autoit\lib\AutoItX3_x64.dllAutoit Pyinstaller OSError:无法从路径加载 AutoItX:C:\Users\AppData\Local\Temp\_MEI74002\autoit\lib\AutoItX3_x64.dll
【发布时间】:2020-01-17 13:56:18
【问题描述】:

我正在尝试将我的 .py 文件更改为 .exe,但是当我尝试运行它时出现上述错误。 Pyinstaller 似乎可以很好地编译。我使用了 pyinstaller filename.spec -F -i "pic.ico" 我的 filename.spec 在下面我在 stackoverflow 上尝试了几种解决方案,但似乎找不到合适的解决方案。似乎认为 .dll 文件位于该目录中,但 _MEI74002 文件夹不存在。当我运行 filename.py 时,它运行良好。 .dll 文件的实际路径位于 datas 变量中。我不明白为什么它不在那里签到。

a = Analysis(['Filename.py'],
         pathex=['Path\\To\\Python\\File'],
         binaries=[('C:\\Users\\PycharmProjects\\iProdi2\\chromedriver.exe', '.\\selenium\\webdriver')],
         datas=[('C:\\Users\\AppData\\Local\\Programs\\Python\\Python38\\Lib\\site-packages\\autoit\\lib\\AutoItX3_x64.dll', '.')], #This is where my .dll file is actually stored
         hiddenimports=[],
         hookspath=[],
         runtime_hooks=[],
         excludes=[],
         win_no_prefer_redirects=False,
         win_private_assemblies=False,
         cipher=block_cipher,
         noarchive=False)

编辑:我想将我的程序分发到其他计算机,因此我希望 .dll 文件成为 .exe 应用程序的一部分,这样用户就不必下载任何东西。

Edit2:在设置 debug = True、strip=None、upx=True、console=True 后运行程序时出现以下错误。我还是不明白怎么了。我之前知道 autoit 库有问题,但不确定如何解决。

File "filename.py", line 18, in <module>
from autoit import control_send
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "c:\users\appdata\local\programs\python\python38\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 621, in exec_module
exec(bytecode, module.__dict__)
File "site-packages\autoit\__init__.py", line 6, in <module>
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "c:\users\appdata\local\programs\python\python38\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 621, in exec_module
exec(bytecode, module.__dict__)
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

【问题讨论】:

  • 你是说检查库是否安装正确?因为脚本有效,所以我会认为它已正确安装。
  • " the script works":给定的链接与脚本无关,它即将获得.exe 失败的原因。 " 库是否安装正确?":您通过'.' 安装到root 中,我怀疑包没有在那里搜索。
  • 依赖漫游器也可以在 Windows 95、98、Me、NT、2000、XP、2003、Vista、7 和 8 上运行。所以不确定它是否可以在 Windows 10 上运行。跨度>
  • “OSError:无法从路径加载 AutoItX:”:将 '.' 更改为 'autoit\\lib'

标签: python exe pyinstaller autoit


【解决方案1】:

“OSError:无法从路径加载 AutoItX:”:更改 '.'到 'autoit\lib' – stovfl 31 分钟前

据我了解,MEI... 文件夹是一个临时文件夹,我通过 '.' 将 .dll 文件放入其中。当它应该在 autoit\lib 子文件夹中时。所以我所要做的就是上面 stovfl 所说的。感谢您的帮助。

【讨论】:

    猜你喜欢
    • 2021-11-12
    • 1970-01-01
    • 1970-01-01
    • 2018-08-28
    • 1970-01-01
    • 1970-01-01
    • 2020-07-02
    • 2014-10-07
    • 1970-01-01
    相关资源
    最近更新 更多