ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • python3 cx_Oracle 설치
    Python 2017. 5. 17. 21:57

    파이썬으로 오라클 접속해야하는 상황이라 이것저것 해보다가 갑자기 된 상황이라 

    왜 된건지.... -_-;;  암튼 일단 실제 적용했던것을 기록으로 남김다. 


    OS : 윈도우 10  64bit 

    1. 오라클 인스턴트 클라이언트  설치 

    다운로드

    basic 이랑 sqlplus 2개 다운받아서 

    C:\Oracle\instantclient_11_2  여기 폴더에 압축을 풀어놓는다. 


    그리고 아래와 같이 환경변수를 설정한다.

    2.  cx_Oracle 라이브러리 설치 

    https://pypi.python.org/pypi/cx_Oracle/5.3


    pip 로 설치할려고 하니 다음과 같은 에러 ㅠㅠ


     
    import cx_Oracle
    con = cx_Oracle.connect('user/비번@서버아이피:1521/오라클SID')
    cur = con.cursor()
    cur.execute('select * from table_name  ' ')
    for result in cur:
        print(result)
    cur.close()
    con.close()
    


    17년 5월 18일 이번엔 ubuntu   설치하고  환경 설정 시작!

    참고문서


    1.  파이썬3.6 설치 완료  링크


    2. 라이브러리  컴파일 해야하니 컴파일시 필요한  필수 라이브러리 업데이트 


    #> sudo apt-get install build-essential unzip python-dev libaio-dev


    3. 오라클 instant client 다운로드  링크


    • instantclient-basic-linux ,  
    • instantclient-sdk-linux 

    위 2개 라이브러리가 필요하다고 하나 난  sqlplus 까지 다운받았다. 


    압축을 풀면 모두

    instantclient_11_2 해당 폴더에 모두 파일이 생기고 


    4. 환경변수 선언 

    /etc/profile 에  환경변수로  아래와 같이 선언해둔다. 


    export ORACLE_HOME=/oracle/instantclient_11_2

    export NLS_LANG=American_America.KO16KSC5601;

    export TNS_ADMIN=$ORACLE_HOME/network/admin

    export PATH=$PATH:$ORACLE_HOME:/bin:/usr/bin/java/bin:/bin:/usr/bin:/usr/sbin:/etc:/usr/etc

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME:/lib:/usr/lib


    5. 라이브러리 파일 링크 

    해당 파일이 컴파일시 필요하기 때문에 미리 링크해둔다.  링크 안하면 해당 so 파일 없다고 컴파일 에러 발생 


    6. 파일추가 <-- 이건 왜 하는지 잘 모르겠다. 

    vi  /etc/ld.so.conf.d/oracle.conf 이렇게 파일을 생성해서 내용은 아래 1줄 추가 

    sudo ldconfig


    이제 환경변수 셋팅한거 읽어들이고 . 안하면 아래 처럼 에러! 


    환경변수 읽어들이고 다시 실행하면  성공!


    실제로  cx_Oracle import 해서 에러 발생 안하는지 확인 



    But!  난  3.6 에서  cx_Oracle import  가 되어야 한다. 


    그래서 apt-get install python3-pip

    이렇게 했더니 

    3.5 환경으로 설치가 된다. 

    아마도 pip3 가 현재 3.5 환경을 바라보고 있어서 그런듯하다. 

    음... 3.6으로 바꾸고 싶으면 어찌해야하나.... 


    역시 구글링으로 의외로 쉽게 검색

    단순히 pip 명령줄 앞에  python3.6 -m  이렇게만 명시하면 되는것이였다. 

    #> python3.6 -m pip install cx_Oracle


    다만  그전에 apt-get install python3.6-dev  이건 먼저 해야 컴파일 에러가 생기지 않는다. 

    안하면 위와 같은 에러 !



    성공 ~~ 냐하하하하하~~~ 









    'Python' 카테고리의 다른 글

    CentOS 6.9 에 Python 3.6 설치하기  (0) 2019.09.12
    tesseract-ocr pytesseract 설치  (3) 2017.05.19
    ubuntu 에 Python3 설치  (0) 2017.05.16
    파이썬 + Django 설치  (0) 2017.04.29

    댓글

Designed by Tistory.