You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PyInstaller打包Python脚本时加载ViGEmClient.dll失败求助

解决PyInstaller打包vgamepad时缺失ViGEmClient.dll的问题

1. 定位ViGEmClient.dll的位置

首先找到Python的vgamepad库安装目录:

  • 打开命令行,执行:
    pip show vgamepad
    
    输出里的Location字段就是库的安装路径(示例:C:\Users\google\AppData\Local\Programs\Python\Python312\Lib\site-packages)。
  • 进入该路径下的vgamepad\win\vigem\client\x64\目录,正常情况下这里应该存在ViGEmClient.dll。如果确实没有,说明库安装不完整,重新执行pip install --force-reinstall vgamepad重新安装。

2. 让PyInstaller打包时包含该DLL

有两种方式实现:

方式一:使用命令行参数

打包时直接通过--add-data指定要包含的文件,Windows环境下路径用分号分隔源文件和目标位置:

pyinstaller --add-data "C:\实际路径\ViGEmClient.dll;vgamepad/win/vigem/client/x64/" your_script.py

替换C:\实际路径\ViGEmClient.dll为你找到的dll真实路径。

方式二:修改.spec文件

  • 先生成默认的spec文件:
    pyinstaller your_script.py
    
  • 打开生成的your_script.spec,找到datas列表,添加以下内容:
    datas=[('C:\\实际路径\\ViGEmClient.dll', 'vgamepad/win/vigem/client/x64')],
    
  • 再用spec文件重新打包:
    pyinstaller your_script.spec
    

3. 若重新安装仍找不到DLL的备选方案

如果重新安装vgamepad后还是没有ViGEmClient.dll,可以手动获取对应x64版本的ViGEmClient.dll,将其放到Python site-packages下的vgamepad\win\vigem\client\x64\目录中,再执行上述打包步骤。

内容的提问来源于stack exchange,提问作者FrostDream

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 06:16:03