J'ai quelques petites applications python qui utilisent cx_Oracle pour se connecter à une base de données Oracle. Je déploie ces applications en les compilant avec py2exe, ce qui fonctionne bien dans de nombreux cas. Le problème est qu'il n'y a pas de version standard du client Oracle (9i et 10g par exemple) parmi les nombreuses personnes qui ont besoin d'installer ceci, et il serait très frustrant d'essayer d'uniformiser tout le monde sur un seul client Oracle. version. J'utilise le client 9.2 avec cx_Oracle 4.4.1 pour 9i pour le moment, et donc quand je py2exe l'exe résultant inclut la bibliothèque cx_Oracle 4.4.1 et ne fonctionnera pas avec les clients 10g. Je n'utilise aucune fonctionnalité spécifique de l'une des versions d'Oracle, donc je n'ai aucune raison de m'inquiéter de la version du client utilisée, à l'exception des problèmes de compatibilité de cx_Oracle.Déploiement de cx_Oracle sur différentes versions d'Oracle Client
La solution idéale serait de compiler en quelque sorte une version complètement indépendante du client Oracle installé sur la machine. Si ce n'est pas possible, je serais prêt à compiler des exes séparés pour chaque version majeure d'Oracle (my_app_9i.exe, my_app_10g.exe, etc) mais je ne peux pas trouver un moyen facile de le faire même depuis l'installation d'un new cx_Oracle écrase mon ancienne version, je devrais continuer à échanger la bibliothèque pour compiler les autres versions chaque fois que je fais un changement.
Tous les conseils ou autres options sont les bienvenus.
Merci pour cette solution élégante et à l'épreuve du temps, désolé, il m'a fallu tellement de temps pour que je l'accepte. – cecilkorik