【已解决】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 下加上

from pymssql import _mssql
from pymssql import _pymssql
import uuid
import decimal

重新打包运行,问题解决:
在这里插入图片描述