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

PyInstaller打包exe后无Python环境运行报PssQuerySnapshot入口点缺失错误求助

问题描述

使用PyInstaller打包Python脚本为单文件exe,执行命令:

pyinstaller --onefile sql.py

编译机器上运行正常,但移至未安装Python的Windows电脑时,报错:

Entry Point Not Found : The procedure entry point PssQuerySnapshot could not be located in the dynamic link library C:...\python312.dll

环境信息:

  • Windows平台
  • Python 3.12.0
  • 已安装包列表:
altgraph==0.17.4
packaging==23.2
pefile==2023.2.7
pyinstaller==6.1.0
pyinstaller-hooks-contrib==2023.10
pymssql==2.2.10
pywin32-ctypes==0.2.2
setuptools==68.2.2
解决办法
  • 降级Python版本:Python 3.12属于较新版本,PyInstaller对其适配存在兼容性问题。建议降级到Python 3.11.x系列(如3.11.6),该版本生态适配更成熟,重新打包后可解决多数依赖加载问题。
  • 调整打包参数:
    1. 改用文件夹模式打包,避免单文件解压时的依赖加载异常:
      pyinstaller sql.py
      
      将生成的整个dist文件夹复制到目标机器运行。
    2. 强制收集所有依赖文件,确保pymssql相关库被完整打包:
      pyinstaller --onefile --collect-all pymssql sql.py
      
  • 替换数据库驱动:pymssql 2.2.10对Python 3.12的支持不足,尝试换成pyodbc库(执行pip install pyodbc),修改脚本中的数据库连接逻辑后重新打包。
  • 检查目标系统版本:PssQuerySnapshot是Windows 8.1及以上系统才有的API,若目标机器为Windows 7或更早版本,需升级系统至Windows 8.1/10/11才能兼容Python 3.12的运行时。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 18:32:40