cx_Oracle: distutils.errors.디퓨틸스SetupError: Oracle 포함 파일을 찾을 수 없습니다.
Linux(Linux 2.6.18-371.1.2.el5 i686)에 Python 2.5용 cx_Oracle을 설치해야 합니다.Oracle 클라이언트 10.2.0.4를 설치했습니다.
저는 다음을 시도했습니다: 1.다운로드.cx_Oracle tar.gz
부터http://sourceforge.net/projects/cx-oracle/files/
나열된 버전 중 python 2.5와 Oracle 클라이언트 10.2.0.4에 적합한 버전이 무엇인지 모르니 cx_Oracle-5.1.tar.gz를 사용해 보십시오.포장을 푼 tar, 포장을 푼 폴더로 이동하여 python setup.py install을 실행합니다.오류가 발생했습니다.
Traceback (most recent call last):
File "setup.py", line 187, in <module>
raise DistutilsSetupError("cannot locate Oracle include files")
distutils.errors.DistutilsSetupError: cannot locate Oracle include files
.bash_profile에서 Oracle 경로를 설정했습니다.
export ORACLE_HOME=/usr/oracle/10.2.0.4/client
export PATH=$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
이러한 오류를 어떻게 해결할 수 있을까요? cx_Oracle tar의 다른 버전이 필요할까요?
- pip install cx_Oracle을 실행합니다.오류 발생:
cx-Oracle 다운로드/패킹 해제
Cannot fetch index base URL https://pypi.python.org/simple/
Could not find any downloads that satisfy the requirement cx-Oracle
No distributions at all found for cx-Oracle
누가 나에게 올바른 해결책을 조언해 줄 수 있습니까?
업데이트 응답에서 제안한 후 다음 오류가 발생했습니다.
...
cx_Oracle.c:496: warning: passing argument 3 of âPyModule_AddIntConstantâ makes integer from pointer without a cast
cx_Oracle.c:497: error: âOCI_UCBTYPE_EXITâ undeclared (first use in this function)
cx_Oracle.c:497: warning: passing argument 3 of âPyModule_AddIntConstantâ makes integer from pointer without a cast
cx_Oracle.c:498: error: âOCI_UCBTYPE_REPLACEâ undeclared (first use in this function)
cx_Oracle.c:498: warning: passing argument 3 of âPyModule_AddIntConstantâ makes integer from pointer without a cast
error: command 'gcc' failed with exit status 1
setup.py 을 실행하면 Oracle_HOME에서 이러한 폴더를 확인합니다.
possibleIncludeDirs = ["rdbms/demo", "rdbms/public", "network/public",
"sdk/include"]
또한 인스턴트 클라이언트는 때때로 /usr/include/oracle//client에 oci.h와 같은 포함 파일을 배치합니다. 만약 ORACLE_HOME 아래에 '포함' 디렉터리가 없다면 이 디렉터리에 대한 심볼릭 링크를 만듭니다.
sudo ln -s /usr/include/oracle/11.2/client $ORACLE_HOME/include
클라이언트 SDK가 누락된 것 같습니다.
OS용 인스턴트 클라이언트 sdk를 설치해야 합니다.
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
설치하다
oracle_client_basic
oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
pip 설치 사용
python -m pip install cx_Oracle
ldconfig 추가 중
- 클라이언트 위치를 찾습니다. 예:
/u01/app/oracle/product/11.2.0/client_1/lib
vi /etc/ld.so.conf.d/oracle.conf
이 위치를 추가합니다.
/u01/app/oracle/product/11.2.0/client_1/lib
ldconfig
- 클라이언트 위치를 찾습니다. 예:
import cx_oracle
경로에 클라이언트 SDK가 있는지 확인합니다.
또한 이것을 .bash_rc에 추가해야 했습니다.
export DYLD_LIBRARY_PATH=$ORACLE_HOME
또한 Python 2.7은 Python 3.4에서 기본적으로 사용할 수 있는 Python.h와 함께 제공되지 않습니다.그래서 저는 또한 파이썬 개발 패키지를 설치하는 것을 제안하고 싶습니다.
yum install python-devel
그러면 문제가 해결될 것입니다.
언급URL : https://stackoverflow.com/questions/24549911/cx-oracle-distutils-errors-distutilssetuperror-cannot-locate-oracle-include-fi
'programing' 카테고리의 다른 글
수백만 개의 레코드가 있을 때 몽고 카운트는 정말 느립니다. (0) | 2023.06.19 |
---|---|
mongodb 집계 쿼리에서 $regex를 $match 내에서 사용하는 방법 (0) | 2023.06.19 |
모듈 설명자 클래스를 로드하지 못했습니다.클래스 "com.google.android.gms.dynamite.descriptors.com .google"을 찾을 수 없습니다.화력 기지auth.ModuleDescriptor" (0) | 2023.06.19 |
Python의 상대적인 위치에서 파일 열기 (0) | 2023.06.19 |
TypeScript npm 모듈에서 유형을 내보내는 방법 (0) | 2023.06.19 |