Python 从exe引用已安装的模块并忽略打包版本

Python 从exe引用已安装的模块并忽略打包版本,python,pyinstaller,python-2.x,pymssql,Python,Pyinstaller,Python 2.x,Pymssql,我继承了一个python应用程序。应用程序有一个使用PyInstaller编译的exe,其中包含许多依赖项。它在与exe相同的文件夹中也有.py脚本 应用程序使用Pymssql与mssql数据库通信。我需要修改一个外部脚本,以便它与azure数据库通信 这似乎是一项简单的任务。我修改了连接参数,安装了OpenSSL和FreeTDS。但是,当我尝试连接时,总是会出现错误:“服务器需要加密,但支持未在中编译” 我相信它使用的是exe中的pymssql模块,而不是新安装的版本。我可以看出FreeTDS

我继承了一个python应用程序。应用程序有一个使用
PyInstaller
编译的exe,其中包含许多依赖项。它在与exe相同的文件夹中也有.py脚本

应用程序使用
Pymssql
mssql
数据库通信。我需要修改一个外部脚本,以便它与
azure
数据库通信

这似乎是一项简单的任务。我修改了连接参数,安装了
OpenSSL
FreeTDS
。但是,当我尝试连接时,总是会出现错误:“服务器需要加密,但支持未在中编译”

我相信它使用的是exe中的
pymssql
模块,而不是新安装的版本。我可以看出FreeTDS的版本比较旧

如何让应用程序忽略旧版本并使用系统安装的版本?我尝试了类似这样的操作:
从sys导入pymsql作为pymsql2
,但我刚刚得到一个错误:无法导入name
pymsql

我没有用于创建exe的代码,也不确定是否有它使用的所有依赖项。因此,如果可能的话,我希望避免创建新的exe


这是我第一次使用python,所以如果我的术语都错了,我很抱歉

你现在处境艰难。一旦程序被编译成exe,灵活性就很小了。编译后更改导入语句的唯一方法是,如果源代码特别允许这样做

尝试反编译。如果有效,您可能会丢失源中的所有注释