首页 > 解决方案 > 使用 UPX 压缩时,pyinstaller 捆绑的可执行文件中的 LoadLibrary 错误

问题描述

我正在尝试使用 Pyinstaller 构建单文件 Windows 命令 shell 可执行文件。这是一个简单的测试文件,足以产生问题。

import code    
code.InteractiveConsole().interact()

我可以使用以下 Python 脚本生成单个可执行文件

import os
import PyInstaller.__main__
PyInstaller.__main__.run([
    '--name={!s}'.format('test'),
    '--clean',
    # '--upx-dir={!s}'.format( os.path.join(r'c:/usr', r'upx-3.96-win64') ),
    '--onefile',
    'test.py'
])

这行得通。但是,如果我取消注释该--upx-dir行,则可执行文件将失败并显示此错误消息

Error loading Python DLL 'C:\Users\ATWORK~1\AppData\Local\Temp\_MEI55442\python38.dll'.
LoadLibrary: The parameter is incorrect.

我希望我对 Pyinstaller 的说明不够充分,因为我希望捆绑 python DLL(这是我构建单个可执行文件的意图)。但是,我不知道我需要做什么。我试过包括额外的命令

    '--win-private-assemblies',
    '--win-no-prefer-redirects',

但这并没有改变任何东西。

我正在使用安装了 Python 3.8 和最新版本(3.96)的 UPX 的 Windows 10 机器。

标签: pythonwindows-10pyinstallerupx

解决方案


推荐阅读