我一直在尝试安装和设置此功能,尽管有几个链接描述了如何执行此操作,但我只是无法使其正常工作。我将首先描述设置:
- 我的电脑:Windows 8.1 企业版(62 位)
- 远程服务器:Oracle DB 版本 12.1.0.2
-
C:\Users\Pymat\Oracle\instantclient_12_1
这是哪里oraocci12.dll
以及其他文件夹和文件
-
C:\Users\Pymat\AppData\Local\Continuum\Anaconda3
这里是python.exe
位于(即os.path.dirname(sys.executable)
)
在脚本中,我有print (sys.version)
这使:3.6.0 |Anaconda 4.3.0 (64-bit)| (default, Dec 23 2016, 11:57:41) [MSC v.1900 64 bit (AMD64)]
我一直在参考来自here http://www.heatonresearch.com/content/oracle.html and here http://www.qc4blog.com/?p=1982 and here https://www.cs.utexas.edu/~scohen/cs327e_spr15/cx_Oracle/windows.html and here https://gist.github.com/kgruel/41b62d0cca51e381b38eaf7622da895d and here https://stackoverflow.com/questions/34610275/package-cx-oracle-for-python-3-5-windows64-bit-oracle-11-2-0-1-0.
问题一:哪个是正确的下载cx_Oracle
?
我去了cx_Oracle 5.2.1
from here https://pypi.python.org/pypi/cx_Oracle/并下载:
cx_Oracle-5.2.1-12c.win-amd64-py3.5.exe (md5)
cx_Oracle-5.2.1-12c.win32-py3.5.exe (md5)
目前尚不清楚哪一个是正确的.exe
下载(或者也许两者都是正确的)。无论如何,我使用 12c 来保持版本与 Oracle DB 版本一致,尽管在整个过程中似乎无论如何都没有与远程服务器上的 Oracle DB 进行交互。
问题2: Is cx_Oracle
正确下载或实际丢失?
在以下路径下:
C:\Users\Pymat\AppData\Local\Continuum\Anaconda3\Lib\site-packages
I find:
cx_Oracle.cp35-win_amd64.pyd
cx_Oracle.cp35-win32.pyd
但是我在这个目录(或任何其他目录)下没有找到cx_Oracle
,例如Verion-5.1.2-11g.win32-py2.7
, 按照here https://stackoverflow.com/questions/12538238/python-module-cx-oracle-module-could-not-be-found?rq=1。我怀疑定位有问题cx_Oracle
模块。另请参阅问题 5
问题3:我的环境变量配置正确吗?
(i) 当我在 Windows 中使用 GUI 来检查变量时,例如here http://www.qc4blog.com/?p=1982 I see:
ORACLE_HOME
C:\Users\Pymat\Oracle\instantclient_12_1;
C:\Users\Pymat\Oracle\instantclient_12_1\vc12
PATH
C:\Users\Pymat\AppData\Local\Continuum\Anaconda3;
C:\Users\Pymat\AppData\Local\Continuum\Anaconda3\Scripts;
C:\Users\Pymat\AppData\Local\Continuum\Anaconda3\Library\bin;
C:\Users\Pymat\Oracle\instantclient_12_1;
NB:末尾缺少分号ORACLE_HOME
。那是对的吗?
(ii) 当我使用C:\Users\Pymat>echo %PATH%
在命令中:
C:\ProgramData\Oracle\Java\javapath;
C:\WINDOWS\system32;
C:\WINDOWS;
C:\WINDOWS\System32\Wbem;
C:\WINDOWS\System32\WindowsPowerShell\v1.0\;
C:\Users\Pymat\.dnx\bin;
C:\Program Files\Microsoft DNX\Dnvm\;
C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;
C:\Users\Pymat\AppData\Local\Continuum\Anaconda3;
C:\Users\Pymat\AppData\Local\Continuum\Anaconda3\Scripts;
C:\Users\Pymat\AppData\Local\Continuum\Anaconda3\Library\bin;
C:\Users\Pymat\Oracle\instantclient_12_1;
(iii) 当我进入 Python shell 并使用sys.path
:
'C:\\Users\\Pymat\\AppData\\Local\\Continuum\\Anaconda3\\python36.zip',
'C:\\Users\\Pymat\\AppData\\Local\\Continuum\\Anaconda3\\DLLs',
'C:\\Users\\Pymat\\AppData\\Local\\Continuum\\Anaconda3\\lib',
'C:\\Users\\Pymat\\AppData\\Local\\Continuum\\Anaconda3',
'C:\\Users\\Pymat\\AppData\\Local\\Continuum\\Anaconda3\\lib\\site-packages',
'C:\\Users\\Pymat\\AppData\\Local\\Continuum\\Anaconda3\\lib\\site-packages\\Sphinx-1.5.1-py3.6.egg',
'C:\\Users\\Pymat\\AppData\\Local\\Continuum\\Anaconda3\\lib\\site-packages\\win32',
'C:\\Users\\Pymat\\AppData\\Local\\Continuum\\Anaconda3\\lib\\site-packages\\win32\\lib',
'C:\\Users\\Pymat\\AppData\\Local\\Continuum\\Anaconda3\\lib\\site-packages\\Pythonwin',
'C:\\Users\\Pymat\\AppData\\Local\\Continuum\\Anaconda3\\lib\\site-packages\\setuptools-27.2.0-py3.6.egg'
问题4:即时客户端下载,哪些下载实际上是必需的?
在 Oracle 上注册后,我从here http://www.oracle.com/technetwork/topics/winx64soft-089540.html在版本 12.1.0.2 下“即时客户端包 - 基本” and “即时客户端包-SDK”。有些网站没有提到SDK包,但我还是下载了。
这些文件被下载到我的 PC(不是 Oracle DB 所在的位置)。
问题5:为了测试安装是否成功,我进入 Python shell 并使用:
import os
os.chdir("C:\\Users\\Pymat\\Oracle\\instantclient_12_1")
import cx_Oracle
但后来我得到:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'cx_Oracle'
为什么这一步不起作用?
问题6:我在 Eclipse 中无法正确使用 Console,但 Command 中的 Python shell 可以工作,为什么?
当我点击“PyDev 控制台”, then “Python 控制台”,然后我得到:
'Create Interactive Console' has encountered a problem
Error initializing console
这变得有点令人头疼,虽然我仍然是一个 Python 新手,但我认为这个安装过程可能会容易得多。欢迎任何建议。