【发布时间】: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