Oracle
 sql >> Base de données >  >> RDS >> Oracle

Le module Python cx_Oracle est introuvable

# - This import requires appropriate oraocciXX.dll to be available in PATH (on windows)
#   (Probably LD_LIBRARY_PATH or LD_LIBRARY_PATH64 on POSIX)
#     where XX is the oracle DB version, e.g. oraocci11.dll for Oracle 11g.
# - This dll is part of the Oracle Instant client pkg available here:
#     http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
# - Also ensure that python, cx_Oracle and Oracle Client are of same arch (32 or 64-bit)
#
import cx_Oracle

Vous pouvez trouver arch (32 ou 64 bits) pour :

  • python en exécutant simplement le python en mode interactif sur la ligne de commande.
  • cx_Oracle :regardez le nom du fichier téléchargé.
  • Client Oracle :
    • exécuter le sqlplus qui fait partie de votre package client
    • démarrez le Gestionnaire des tâches et voyez si sqlplus.exe a "*32" à côté (=32 bits) ou non (=64 bits)
    • si vous n'avez pas sqlplus, utilisez dumpbin /headers oraocciXX.dll
  • Si vous utilisez POSIX, vous le savez probablement déjà. Utilisez le file oraocciXX.so

Enfin si vous ne comprenez toujours pas voici des instructions vraiment pour les nuls :

  • Assurez-vous d'avoir installé les versions 32 bits de python, cx_Oracle et Oracle Instant Client. Ceux-ci peuvent également être 64 bits, mais doivent être identiques pour les 3. Impossible de mélanger et de faire correspondre. Liens :
    • Oracle Instant Client Disons qu'il est installé dans C:\ProgFiles\OraClient\11_2
    • cx_Oracle
    • Python
  • Windows :
    • set PATH=%PATH%;C:\ProgFiles\OraClient\11_2
  • POSIX (Linux/Unix/Solaris...) <-- Non testé..
    • export LD_LIBRARY_PATH=/path/to/your/32bit/oraocciXX.so
    • (64 bits) export LD_LIBRARY_PATH64=/path/to/your/64bit/oraocciXX.so
  • exécutez path-to-python/python.exe -c "import cx_Oracle" pour tester si votre configuration fonctionne ou non.
    • s'il s'imprime
    • rien :alors c'est réussi.
    • ImportError: DLL load failed: The specified module could not be found :alors oraocciXX est introuvable. Configurez correctement les variables d'environnement.
    • ImportError: DLL load failed: %1 is not a valid Win32 application  :Vous avez une non-concordance 32/64 bits.