Python용 cx_Oracle 설치
Debian 5에서 python용 cx_oracle 모듈을 설치하려고 했지만 아무런 성과가 없었습니다.먼저 oracle-xe-client와 그 종속성을 설치했습니다(다음 링크의 튜토리얼에 따릅니다).
다음으로 /usr/lib/oracle/xe/app/oracle/product/10.2.0/client/bin의 스크립트를 사용하여 PATH, ORACLE_HOME, NLS_LANG 등의 환경변수를 채웠습니다.
이 작업이 완료되면 다음을 실행하려고 했습니다.
sudo easy_install cx_oracle
그러나 다음과 같은 오류가 계속 발생합니다.
Searching for cx-oracle
Reading http://pypi.python.org/simple/cx_oracle/
Reading http://cx-oracle.sourceforge.net
Reading http://starship.python.net/crew/atuining
Best match: cx-Oracle 5.0.4
Downloading http://prdownloads.sourceforge.net/cx-oracle/cx_Oracle-5.0.4.tar.gz?download
Processing cx_Oracle-5.0.4.tar.gz
Running cx_Oracle-5.0.4/setup.py -q bdist_egg --dist-dir /tmp/easy_install-xsylvG/cx_Oracle-5.0.4/egg-dist-tmp-8KoqIx
error: cannot locate an Oracle software installation
내가 뭘 놓쳤는지 알아?
RPM이 RPM이 .root
.
의존 관계
다음 패키지를 설치합니다.
apt-get install python-dev build-essential libaio1
Linux x86-64용 Instant Client 다운로드
Oracle 다운로드 사이트에서 다음 파일을 다운로드합니다.
zip 파일을 추출합니다.
다운로드한 zip 파일을 다음 디렉토리에 압축을 풉니다.
/opt/ora/
환경 변수 추가
파일을 .
/etc/profile.d/oracle.sh
그 중에는export ORACLE_HOME=/opt/ora/instantclient_11_2 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME
파일을 .
/etc/ld.so.conf.d/oracle.conf
그 중에는/opt/ora/instantclient_11_2
다음 명령을 실행합니다.
sudo ldconfig
주의: 설정을 적용하려면 재부팅해야 할 수 있습니다.
심볼링크 생성
cd $ORACLE_HOME ln -s libclntsh.so.11.1 libclntsh.so
cx_Oracle
하여 설치할 수 .
pip
pip install cx_Oracle
또는 수동으로 설치
Python 및 Oracle 버전에 해당하는 cx_Oracle 소스 zip을 다운로드합니다.그런 다음 아카이브를 확장하고 추출된 디렉토리에서 실행합니다.
python setup.py build python setup.py install
alienrpm 파일을 Alien으로 합니다. 하면 수 .apt-get purge no-longer-needed
.
제 경우, 제가 필요한 유일한 env 변수는LD_LIBRARY_PATH
:서서::::::
echo export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client/lib >> ~/.bashrc
source ~/.bashrc
는 """가 될 입니다./usr/lib/oracle/xe/app/oracle/product/10.2.0/client/lib
.
다음은 Mac과 Linux에서 모두 작동했습니다.이 명령어는 환경변수를 설정할 필요 없이 필요한 추가 파일을 다운로드해야 합니다.
python -m pip install cx_Oracle --pre
--pre 옵션은 오라클 드라이버를 개발 및 사전 릴리스하기 위한 것입니다.이 게시물 현재로서는cx_Oracle-6.0rc1.tar.gz
Python6을 .(Python 3.6을 사용하고 있습니다)
Thx Burhan Kalid, 나는 당신의 "You need to be root" 인용구를 간과했지만, 당신이 여기서 뿌리가 아닐 때 길을 찾았습니다.
포인트 7에서는 다음을 사용할 필요가 있습니다.
sudo env ORACLE_HOME=$ORACLE_HOME python setup.py install
또는
sudo env ORACLE_HOME=/path/to/instantclient python setup.py install
고마워요 버한 칼리드소프트링크를 만들라는 당신의 조언으로 설치가 제대로 되었습니다.
개요:
인스턴트 클라이언트의 기본 버전과 SDK 버전이 모두 필요합니다.
LD_LIBRARY_PATH와 ORACLE_HOME을 모두 설정해야 합니다.
- 소프트 링크(이 경우는 ln -s libclntsh.so.12.1 libclntsh.so)를 작성해야 합니다.
이 중 어느 곳에도 기록되지 않았습니다. 믿을 수 없을 정도로 실망스러웠습니다.어제 소프트 링크를 만드는 방법을 몰라서 실패한 빌드로 3시간 넘게 보냈습니다.
ORACLE_HOME에 접속할 수 없는 것은 sudo라고 생각합니다.이렇게 하면 돼요.
스도비수도
텍스트 추가를 수정하다
기본 env_keep += "ORACLE_HOME"
그리고나서
sudo python setup.py 빌드 설치
또는 다음 절차에 따라 PIP 없이 cx_Oracle 모듈을 설치할 수도 있습니다.
- 여기서 소스를 다운로드합니다.https://pypi.python.org/pypi/cx_Oracle [cx_Oracle-6.1.tar.gz]
다음 명령을 사용하여 tar를 추출합니다(Linux).
gunzip cx_Oracle-6.1.tar.gz
tar -xf cx_Oracle-6.1.tar
cd cx_Oracle-6.1
모듈 구축
python setup.py 빌드
모듈을 설치합니다.
python setup.py 설치
Ubuntu 16에서는 이 방법이 효과가 있었습니다.
Oracle 웹사이트에서 ('instantclient-basic-linux.x64-12.2.0.1.0.zip' 및 'instantclient-sdk-linux.x64-12.2.0.1.0.zip')를 다운로드한 후 다음 스크립트를 수행합니다(조목씩 수행할 수 있으며 ROOT로 수행했습니다).
apt-get install -y python-dev build-essential libaio1
mkdir -p /opt/ora/
cd /opt/ora/
## Now put 2 ZIP files:
# ('instantclient-basic-linux.x64-12.2.0.1.0.zip' and 'instantclient-sdk-linux.x64-12.2.0.1.0.zip')
# into /opt/ora/ and unzip them -> both will be unzipped into 1 directory: /opt/ora/instantclient_12_2
rm -rf /etc/profile.d/oracle.sh
echo "export ORACLE_HOME=/opt/ora/instantclient_12_2" >> /etc/profile.d/oracle.sh
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME" >> /etc/profile.d/oracle.sh
chmod 777 /etc/profile.d/oracle.sh
source /etc/profile.d/oracle.sh
env | grep -i ora # This will check current ENVIRONMENT settings for Oracle
rm -rf /etc/ld.so.conf.d/oracle.conf
echo "/opt/ora/instantclient_12_2" >> /etc/ld.so.conf.d/oracle.conf
ldconfig
cd $ORACLE_HOME
ls -lrth libclntsh* # This will show which version of 'libclntsh' you have... --> needed for following line:
ln -s libclntsh.so.12.1 libclntsh.so
pip install cx_Oracle # Maybe not needed but I did it anyway (only pip install cx_Oracle without above steps did not work for me...)
이제 python 스크립트가 'cx_Oracle'을 사용할 준비가 되었습니다.맛있게 드세요!
이건 내게 효과가 있었다.
python -m pip install cx_Oracle --upgrade
자세한 내용은 oracle 빠른 시작 가이드를 참조하십시오.
https://cx-oracle.readthedocs.io/en/latest/installation.html#quick-start-cx-oracle-installation
MAC 에 인스톨 하는 경우는, 다운로드한 Oracle 클라이언트의 압축을 풀고, python 스크립트를 작성한 폴더에 넣습니다.작동하기 시작합니다.
환경변수를 설정하는 것은 너무 많은 문제가 있다.그것은 나에게 효과가 있었다.
이게 도움이 됐으면 좋겠다.
감사해요.
다음의 코드로 재인스톨 해 보겠습니다.
!pip install --proxy http://username:windowspwd@10.200.72.2:8080 --upgrade --force-reinstall cx_Oracle
Python 2를 지원하는 마지막 버전인 7.3과 같은 특정 버전의 cx_Oracle을 설치해야 할 경우 다음을 수행할 수 있습니다.
python -m pip install cx_Oracle==7.3
언급URL : https://stackoverflow.com/questions/4307479/install-cx-oracle-for-python
'programing' 카테고리의 다른 글
타이프 스크립트 및 재스트:시뮬레이션된 함수의 유형 오류 방지 (0) | 2023.03.10 |
---|---|
JSON에서 중첩된 python 개체를 인코딩하는 중 (0) | 2023.03.10 |
Oracle에서 톱1을 달성하려면 어떻게 해야 합니까? (0) | 2023.03.10 |
Oracle 포트를 포트 8080에서 변경 (0) | 2023.03.10 |
Angular JS: 컨트롤러 및 콘텐츠 로드 지연 (0) | 2023.03.10 |