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

问题描述 投票:2回答:1

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

该应用程序使用Pymssqlmssql数据库交谈。我需要修改一个外部脚本,以便它与azure数据库进行通信。

这似乎是一项简单的任务。我修改了连接参数,安装了OpenSSLFreeTDS。但是,当我尝试连接时,我总是得到错误:“服务器需要加密但不支持编译”。

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

如何让应用程序忽略旧版本并使用系统安装的版本?我尝试了类似的东西:from sys import pymssql as pymssql2但我只是得到错误无法导入名称pymssql

我没有用于创建exe的代码,也不确定我是否拥有它使用的所有依赖项。所以我想尽可能避免创建一个新的exe。

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

python pyinstaller python-2.x pymssql
1个回答
0
投票

你处境艰难。程序编译成exe后,灵活性很小。如果源特别允许,那么在编译之后可以更改import语句的唯一方法。

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

© www.soinside.com 2019 - 2024. All rights reserved.