我有一些小python应用程序使用cx_Oracle连接到Oracle数据库。我通过使用py2exe编译这些应用程序来部署它们,这在很多情况下都能很好地工作。在
问题是,许多需要安装它的人都没有一个标准的Oracle客户端版本(例如9i和10g),如果试图让每个人都在一个Oracle客户端版本上进行标准化,那将非常令人沮丧。我现在使用的是9.2客户机和cx峎Oracle 4.4.1 for 9i,因此当我py2exe时,得到的exe包含cx_Oracle 4.4.1库,不能与10g客户机一起使用。在
我没有使用任何Oracle版本的任何特定功能,所以我真的没有理由关心正在使用的客户机版本,除了cx_Oracle兼容性问题。在
理想的解决方案是以某种方式编译一个完全独立于机器上安装的Oracle客户机的版本。在
如果不可能的话,我愿意为Oracle的每个主要版本(my_app_9i.exe、my_app_10g.exe等)编译单独的exe,但我想不出一个简单的方法来实现这一点,因为安装新的cx_Oracle会覆盖我的旧版本,我必须不断地来回交换库,以便在每次进行更改时编译其他版本。在
欢迎任何建议或其他选择。在