我一直在試圖獲得這個安裝和設置,儘管有幾個鏈接描述如何做到這一點,我只是沒有得到這個工作。我將介紹第一次設置:在Windows中安裝Python cx_Oracle模塊並連接到Oracle數據庫
- 我的電腦:Windows 8.1中的企業(62位)
- 遠程服務器:Oracle數據庫版本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
的正確下載? 我去cx_Oracle 5.2.1
從here 和下載:
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數據庫版本一致,儘管通過這整個過程,在任何情況下都不會與遠程服務器上的Oracle數據庫進行交互。
問題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:我的環境變量配置是否正確?
(我)當我使用Windows的圖形用戶界面來檢查變量,例如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;
(三)當我進入Python的外殼和使用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的「即時客戶端軟件包 - 基本」和「即時客戶端程序包 - SDK」。有些網站沒有提到SDK包,但我仍然下載了它。
這些被下載到我的電腦(不在Oracle DB駐留的地方)。
問題5:爲了測試安裝成功,我進入了Python的外殼和使用:
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中正確使用控制檯,但是Command中的Python shell工作正常,爲什麼?
當我點擊出 「PyDev控制檯」,然後「巨蟒控制檯」,然後我得到:
'Create Interactive Console' has encountered a problem
Error initializing console
這已成爲一個有點頭疼,雖然我」米仍然是一個Python新手,我認爲這個安裝過程可能會更容易。歡迎任何建議。
嗨!有趣的話題!問題列表在這裏沒有多大意義!請分開您的問題,以便回答這些問題!另見[問]!謝謝! – jkalden
嗨,我已經分開了問題。其中有六個,涉及安裝問題的一個主題,因此彼此相關。謝謝。 – pymat
我不同意。我在一個問題中看到了6個具體的問題。這是在這裏主題的簡要! – jkalden