2017-03-16 4 views
1

Je suis nouveau sur Python. Les deux derniers jours, j'ai essayé de faire fonctionner cx_oracle sur Windows 8.1 64 bits avec Anaconda3 (3.6) et client Oracle 11g. En fin de compte, j'ai réussi à le faire fonctionner, mais il était assez encombrant. Anaconda semble être une distribution largement utilisée, Windows un système d'exploitation commun, et les binaires Windows cx_oracle viennent de python.org, alors peut-il vraiment être le moyen de le faire?!?Python 3.6, cx_oracle pour client 11g sur Windows 64 bits

  1. je ne pouvais pas utiliser Gholke's unofficial windows binaries becuse il doit travailler pour le client 11g. Je n'ai trouvé que des paquets pour 12c.

  2. Je ne pouvais pas faire Visual C++ construire des outils 2015 (14,0) (représentant pas assez pour faire le lien) travaillent soit, obtenir une longue liste de: cx_Oracle.obj : error LNK2001 :unresolved external symbol OCIxxxxxx.

    Peut être que je manque quelque chose sur l'Oracle côté client?

Enfin, ce qui a fait le travail était les binaires officiels https://pypi.python.org/pypi/cx_Oracle mais pas hors de la boîte:

a. En cours d'exécution cx_Oracle-5.3-11g.win-amd64-py3.6.exe en tant qu'administrateur, je reçois une invite: Python version 3.6-32 required, which is not found in the registry.

b. Ensuite, j'ai dû modifier HKEY_LOCAL_MACHINE > SOFTWARE > Python > PythonCore > 3.6, en changeant la valeur de la clé de 3.6 à 3.6-32. Maintenant, le programme d'installation me permet de sélectionner une version python.

En repensant à la description, cela semble simple. Cependant, il a fallu beaucoup de temps pour le savoir et je ne trouve pas déconner avec regedit.exe ce grand.

J'espère que quelqu'un là-bas a une meilleure solution, merci d'avance :)

Répondre

2

En ce qui concerne les binaires officiels pour la libération cx_Oracle 5.3: c'est un problème connu qui a été résolu.

Je travaille également sur un moyen de distribuer des roues au lieu d'installateurs exécutables afin d'éviter cela à long terme.

+0

: Merci de prendre le temps de répondre et de me le signaler. Pour une raison quelconque, j'ai complètement raté cette discussion. À votre santé – sonnehansen