【已解决】Python打包文件执行报错:ModuleNotFoundError: No module named ‘pymssql‘

【已解决】Python打包文件执行报错:ModuleNotFoundError: No module named 'pymssql'

1、问题

今天打包一个 tkinter + pymssql 的项目的时候,打包过程很顺利,但是打开软件的时候,报错 ModuleNotFoundError: No module named 'pymssql' 如下图:

2、原因

查了好多资料才知道:打包程序无法判断 pymssql 动态调用,其中的 _mssql 方法是动态调用的,就是用才调用,不会一开始就调用,于是打包程序就不知道要不要包进 exe 里面,估计打包的时候不会去尝试运行 pymssql 里面的函数,因此也无法得知动态调用的模块,解决方案就是在程序最开始手动调用,为了最小的程序开销,调用一下模块的版本信息就可以了。

3、解决

import pymssql 下加上

python 复制代码
from pymssql import _mssql
from pymssql import _pymssql
import uuid
import decimal

重新打包运行,问题解决:

相关推荐
Cha0DD1 小时前
【由浅入深探究langchain】第二十集-SQL Agent+Human-in-the-loop
人工智能·python·ai·langchain
Cha0DD1 小时前
【由浅入深探究langchain】第十九集-官方的SQL Agent示例
人工智能·python·ai·langchain
七度黑光2 小时前
用 openclaw 给故障复盘打分:质量审核自动化实践
运维·服务器·前端·数据库·自动化
智算菩萨3 小时前
【Tkinter】4 Tkinter Entry 输入框控件深度解析:数据验证、密码输入与现代表单设计实战
python·ui·tkinter·数据验证·entry·输入框
华科易迅3 小时前
Spring 事务(注解)
java·数据库·spring
终端鹿3 小时前
Vue3 模板引用 (ref):操作 DOM 与子组件实例 从入门到精通
前端·javascript·vue.js
Java面试题总结3 小时前
MySQL篇 索引失效
数据库·mysql
七夜zippoe3 小时前
可解释AI:构建可信的机器学习系统——反事实解释与概念激活实战
人工智能·python·机器学习·可解释性·概念激活
last demo3 小时前
mysql
运维·数据库·mysql·oracle
蜡台4 小时前
Vue 打包优化
前端·javascript·vue.js·vite·vue-cli