我有一些小的python应用程序使用cx_Oracle连接到Oracle数据库。我通过使用Py2Exe编译这些应用程序来部署它们,在许多情况下,它们都可以正常工作。
问题是,在许多需要安装此软件的人中,没有标准的Oracle客户端版本(例如9i和10g),要让每个人都在一个Oracle客户端版本上实现标准化是非常令人沮丧的。我目前正在将9.2客户机与cx_Oracle 4.4.1配合使用,用于9i,因此当我执行py2exe时,生成的exe包含cx_Oracle 4.4.1库,并且不会与10g客户机一起使用。
我不使用任何Oracle版本的任何特定功能,因此,除了cx_Oracle兼容性问题之外,我真的没有理由关心正在使用的客户机版本。
理想的解决方案是以某种方式编译一个完全独立于机器上安装的Oracle客户机的版本。
如果不可能的话,我愿意为每个主要的Oracle版本(我的\应用程序\ 9i.exe,我的\应用程序\ 10g.exe,等等)编译单独的exe s,但是我想不出一个简单的方法,因为安装一个新的cx \ Oracle会覆盖我的旧版本,所以每当我创建一个一个变化。
欢迎任何建议或其他选择。