python cx_Oracle安装 报错,各种问题本人新手归纳一下,实际亲测问题

python是个好的小框架,搬来搬去都可以,通用性没的说,不废话了。

以前也没少安装过Python还有cx_Oracle,也没遇到过啥问题,很顺利的,乖乖最近拿新机器虚拟机一安装问题来了,都是各种报错,论坛里网上查,一个转一个都TM的看着累死,没一点用,诶

首先确认您的主机上有没有Python,确认下版本就知道,一般的Linux只要不是纯净版,上面都自带Python版本无论2.6 2.7都够用了,python -V 看见结果就算完成了。

但是部分机器没有开发包,安装下Python开发包 yum install python-devel;网络通的情况下会自己下载内容,然后就完成了。

第二步确认主机上有没有安装ORACLE #echo $ORACLE_HOME如果打出一个目录,那么恭喜你#cd $ORACLE_HOME进去看一下,看看是客户端简版还是服务版,特别检查$ORACLE_HOME/sdk/include目录是否存在,还有lib、bin目录,检查要是都在的话执行下sqlplus如果看见输入用户名的提示符,那么恭喜你,你可以直接解压cx_Oracle(4-5版本都可以),解压完成 python setup.py install 直接执行完,python  import cx_Oracle没有报错提示,就算装完成了。

至于GCC没有就自己安装吧,这个不算是问题。

下面我来说一下我这里遇到的报错情况

python setup.py install 
running install
running build
running build_ext
building 'cx_Oracle' extension
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/usr/lib/oracle/11.2/client64/rdbms/demo -I/usr/lib/oracle/11.2/client64/rdbms/public -I/usr/lib/oracle/11.2/client64/network/public -I/usr/lib/oracle/11.2/client64/sdk/include -I/usr/local/include/python2.7 -c cx_Oracle.c -o build/temp.linux-x86_64-2.7/cx_Oracle.o -DBUILD_TIME="June 21, 2017 18:42:39"
cx_Oracle.c:9:17: error: oci.h: No such file or directory
cx_Oracle.c:10:16: error: xa.h: No such file or directory
In file included from cx_Oracle.c:74:
Environment.c:11: error: expected specifier-qualifier-list before ‘OCIEnv’
Environment.c:22: error: expected declaration specifiers or ‘...’ before ‘sword’
In file included from Environment.c:53,
                 from cx_Oracle.c:74:
Error.c:11: error: expected specifier-qualifier-list before ‘sb4’
Error.c:28: error: ‘udt_Error’ has no member named ‘errorNumber’
Error.c:29: error: ‘udt_Error’ has no member named ‘errorText’
Error.c:30: error: ‘udt_Error’ has no member named ‘context’
Error.c: In function ‘Error_New’:
Error.c:82: error: ‘ub4’ undeclared (first use in this function)
Error.c:82: error: (Each undeclared identifier is reported only once
Error.c:82: error: for each function it appears in.)

看似很长的报错下面还有很多很多,拿着报错语句去百度,根本就是无解,我这里的解决办法呢很简单,在我电脑上oracle目录下找到OCI目录,整个压缩下复制到cx_OracleA安装机器的$ORACLE_HOME下,把OCI改成sdk问题就也算好了。要不然就好好的把oracle全删了,然后再一步一步安装,记住不要图方便下载官网的rpm包,下ZIP包解压就好。
需要下载的包 基本只要下载jdbc basic sdk sqlplus 就可以了。

你可能感兴趣的:(原创不易,cx_Oracle安装)