【发布时间】:2017-02-27 21:16:42
【问题描述】:
我一直在尝试安装和设置它,尽管有几个链接描述了如何做到这一点,但我只是没有让它工作。我将首先描述设置:
- 我的电脑: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和here和here和here和here的说明。
问题 1: 哪个是cx_Oracle 的正确下载?
我从here 转到cx_Oracle 5.2.1
并下载:
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:cx_Oracle 是否正确下载或实际上丢失了?
在以下路径下:
C:\Users\Pymat\AppData\Local\Continuum\Anaconda3\Lib\site-packages
我发现:
cx_Oracle.cp35-win_amd64.pyd
cx_Oracle.cp35-win32.pyd
但是我在此目录(或任何其他目录)下找不到cx_Oracle,例如Verion-5.1.2-11g.win32-py2.7,根据here。我怀疑定位 cx_Oracle 模块存在问题。另见问题 5
问题 3:我的环境变量配置正确吗?
(i) 当我在 Windows 中使用 GUI 检查 here 之类的变量时,我看到了:
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;
注意: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 下载版本 12.1.0.2 下的“Instant Client Package - Basic”和“Instant Client Package - 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 Console”,然后点击“Python Console”,我得到:
'Create Interactive Console' has encountered a problem
Error initializing console
这有点让人头疼,虽然我还是个 Python 新手,但我认为这个安装过程可能会容易得多。欢迎任何建议。
【问题讨论】:
-
嗨!有趣的话题!问题列表在这里没有多大意义!请拆分您的问题以回答每个问题!另见How to Ask!谢谢!
-
嗨,我已经把问题分开了。其中有六个,都与安装问题的一个主题有关,因此彼此相关。谢谢。
-
我不同意。我在一个Stack Overflow 问题中看到您提出的 6 个具体问题。此处暂不讨论!
-
好吧,我们同意不同意。