我继承了python应用程序。该应用程序具有使用PyInstaller
编译的exe,该exe包含很多依赖项。它还与exe放在同一文件夹中。py脚本。
应用程序使用Pymssql
与mssql
数据库进行通话。我需要修改一个外部脚本,以便它与azure
数据库对话。
这似乎很简单。我修改了连接参数,安装了OpenSSL
和FreeTDS
。但是,当我尝试连接时,总是会收到错误消息:“服务器需要加密,但未编译支持”。
我认为它正在使用exe中的pymssql
模块,而不是新安装的版本。我可以看到FreeTDS的版本较旧。
如何让该应用忽略旧版本并使用已安装的系统?我尝试过类似以下操作:from sys import pymssql as pymssql2
,但我收到错误消息,无法导入名称{{ 1}}。
我没有用于创建exe的代码,并且不确定我是否具有它使用的所有依赖项。因此,我尽可能避免创建新的exe。
这是我第一次使用python,因此如果术语有误,我深表歉意!
答案 0 :(得分:0)
您处在困境中。程序编译为exe后,几乎没有灵活性。编译后更改导入语句的唯一方法是,如果源明确允许这样做。
尝试this进行反编译。如果可行,您可能会丢失源中的所有评论。