工作中需要對Oracle數(shù)據(jù)庫進行連接處理咽安,由于對Python語言較為熟悉遂跟,決定配置Python連接Oracle12C數(shù)據(jù)庫负溪。開發(fā)機在公司內網(wǎng)透揣,無法訪問互聯(lián)網(wǎng),也就無法使用pip等簡單的安裝方式川抡,只能把安裝包下載下來辐真,拷貝到服務器中進行安裝。最初,我通過下載Python安裝包的方式來安裝侍咱,發(fā)現(xiàn)內網(wǎng)機器中耐床,一些基礎的包都有缺失,需要根據(jù)報錯信息先后下載10余個額外的包進行配置楔脯,操作復雜撩轰,并且容易出現(xiàn)版本錯誤。多次嘗試不成功之后昧廷,決定直接安裝Anaconda堪嫂,希望依靠Anaconda相對完善的包來實現(xiàn)順利安裝,最終實踐成功麸粮。
1. 下載安裝anaconda
1.1 下載anaconda
由于是內網(wǎng)機溉苛,下載傳輸較為麻煩,直接找同事要到了Anaconda-3.4.4.0-Linux-x86_64.sh弄诲,該版本的anaconda中,Python版本為Python 3.6.1版娇唯。各位可以直接到annaconda官網(wǎng)下載操作系統(tǒng)對應的最新版anaconda齐遵,當前Python版本為3.7.
https://www.anaconda.com/distribution/#download-section
1.2 安裝Anaconda
(1) bash Anaconda安裝包名
(2)按照提示直到安裝完成
????我這里直接用了默認的安裝路徑,也選擇了配置到環(huán)境變量中塔插。安裝完成后梗摇,~/.bashrc中,出現(xiàn)這樣的一條:
(3)環(huán)境驗證
? ? 通過which命令確認一下想许,python和anaconda的環(huán)境變量配置是否正確伶授。
2. 下載配置cx_Oracle
2.1 下載cx_Oracle
下載地址:https://pypi.org/project/cx-Oracle/#files
選擇相應版本下載(我這里選擇了64位服務器、Python3.6的版本):
2.2 安裝cx_Oracle
直接在cx_Oracle路徑下執(zhí)行:
#pip install cx_Oracle*.whl
3. 配置Oracle instantclient
3.1 下載相應版本的instantclient和sdk
下載地址:https://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
將兩個文件放在同一個路徑下流纹,進行解壓糜烹,由于解壓后路徑相同,兩個壓縮包將解壓到同一個目錄中:
unzip instantclient-basic-linux.x64-12.1.0.2.0.zip
unzip instantclient-sdk-linux.x64-12.1.0.2.0.zip
3.2? 配置環(huán)境變量
Bash作為常用的linux shell漱凝,有兩種運行模式:
(1)Interactive login shell
login shell以下面的順序讀取文件疮蹦,如果文件不全,以能讀到的第一個文件為準:
/etc/profile --> ~/.bash_profile --> ~/.bash_login --> ~/.profile
(2)Interactive non-login shell
非交互式shell以下面的順序讀取文件茸炒,也以讀到的第一個文件為準:
/etc/bash.bashrc --> ~/.bashrc
/etc/bash.bashrc 和 ~/.bashrc愕乎,只對當前用戶有效。如果希望所有用戶壁公、所有程序都可以讀到環(huán)境變量感论,需要將其寫在/etc/profile、~/.bash_profile紊册、~/.bash_login或~/.profile中比肄。
這里,我將其配置在~/.bashrc中,與anaconda配置在一起薪前,:
保存文件后润努,# source ~/.bashrc,使其生效示括。
4. 驗證
4.1 修改host
? ? (1)直接執(zhí)行連接操作報錯
? ? ? ? ? ? 查看host文件铺浇,發(fā)現(xiàn)未配置hostname:? ? ? ? ? ??
(2)修改/etc/hosts文件
? ? ? ? * 通過hostname命令查到hostname
? ? ? ? * 將host添加到/etc/hosts文件中? ? ? ? ? ??
4.2 再次驗證生效:
聲明:本文由豆瓣掌原創(chuàng),請在獲得許可后轉載垛膝。