bounty将在7天后过期。回答此问题可获得+50声望奖励。FrostDream希望引起更多关注此问题。
我在使用Python打包我的Python脚本时遇到了一个问题。该脚本使用了'vgamepad'库,虽然它在Python中成功运行,但在尝试使用Python创建独立的可执行文件时遇到了以下错误:
Failed to load dynlib/dll 'C:\Users\google\AppData\Local\Temp\_MEI150362\vgamepad\win\vigem\client\x64\ViGEmClient.dll'.
Most likely, this dynlib/dll was not found when the application was frozen.
字符串
与常见的建议相反,我无法在我的项目目录或系统上的其他地方找到“ViGEmClient.dll”文件。
相关编码:
try:
import vgamepad
except Exception as e:
input(e)
型
环境:
- 操作系统:Windows 10
- Python版本:3.12.0
- Python版本:6.3.0
- vgamepad版本:0.1.0
我一直无法找到'ViGEmClient.dll'文件在类似的情况下建议.任何关于定位或解决此依赖关系问题的指导将不胜感激.谢谢!
1条答案
按热度按时间5ssjco0h1#
正如评论部分所述,您可以从vgamepad's Github repo下载缺少的
.dll
。即使我的代码只导入vgamepad,我也会得到这个错误。我的pyinstaller命令很简单:
pyinstaller my_script.py --onefile
这是因为Python不会将丢失的.dll文件复制到独立的可执行文件中,所以可执行文件无法找到该.dll文件。您需要告诉Python复制您的.dll文件:
字符串
在本例中,
ViGEmClient.dll
与my_script.py位于同一个文件夹中,您的路径可能会有所不同。