cx-oracle 编译错误问题的解决
2010-07-07 21:34
267 查看
提炼要点:
1.需要安装instantclient 主要包括
'instantclient-linux-basic
'instantclient-sdk-linux'
'instantclient-sdk-linux' 里边有个sdk的文件保护一些访问数据库的头文件,将它和'instantclient-linux-basic'合并成一个文件
如instantclient
2。设置环境变量
export ORACLE_HOME=[your installation path]/instantclient(按照实际情况设置)
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME
顺便PATH也设置一下
3
cd $ORACLE_HOME
ln -s libclntsh.so.x.x libclntsh.so
4.
python setup.py build
python setup.py install
官方安装文章如下
1.需要安装instantclient 主要包括
'instantclient-linux-basic
'instantclient-sdk-linux'
'instantclient-sdk-linux' 里边有个sdk的文件保护一些访问数据库的头文件,将它和'instantclient-linux-basic'合并成一个文件
如instantclient
2。设置环境变量
export ORACLE_HOME=[your installation path]/instantclient(按照实际情况设置)
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME
顺便PATH也设置一下
3
cd $ORACLE_HOME
ln -s libclntsh.so.x.x libclntsh.so
4.
python setup.py build
python setup.py install
官方安装文章如下
Linux Build Hints ----------------- (Tested on RedHat 4.x, Gentoo 2008.0, Ubuntu 8.x, and Debian 4.x) These hints are based on using Oracle's instantclient_11_1. It is necessary to download both 'instantclient-linux-basic' and 'instantclient-sdk-linux' from oracle.com in order to successfully compile. http://www.oracle.com/technology/software/tech/oci/instantclient/index.html Each compressed tarball needs to be extracted to the exact same location. Uncompress and untar each file from the same location in order to achieve this result. If placing into a system area such as /opt or /usr/local, make sure to have the correct permissions for writing to these filesystems and/or directories. It is advisable to use the same account from start to finish while installing cx_Oracle in order not to clobber the pre-set environment variables set below. It is necessary to set environment variables ORACLE_HOME and LD_LIBRARY_PATH inside $HOME/.profile in order for cx_Oracle to import properly after installation and in order to build correctly. Using a text editor add the settings below to $HOME/.profile making sure to change the location of your actual installation path. Example ($HOME/.profile): ------------------------- export ORACLE_HOME=[your installation path]/instantclient_11_1 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME To put these variables into the working shell env, either source .profile (. $HOME/.profile) or execute each export statement above from a shell individually to set these variables. If these are not added to $HOME/.profile they will need to be manually set each time cx_Oracle is loaded into Python. After both packages are untarred to there installation location a link needs to be made inside the instantclient_11_1 directory. If you are using a different version of the instant client simply adjust the link per the version of libclntsh.so. Steps: ------ cd $ORACLE_HOME ln -s libclntsh.so.x.x libclntsh.so Continue to step: Building and Compilation. OS X Build Hints ---------------- (Tested on Leopard 10.5.x) The procedures for OS X are almost idential to Linux except for the package names and a few environmental caveats. For OS X it is necessary to download both 'instantclient-basic-macosx' and 'instantclient-sdk-macosx'. Download and extract each file per the build hints for Linux. For OS X it is necessary to set environment variables ORACLE_HOME, LD_LIBRARY_PATH and DYLD_LIBRARY_PATH inside $HOME/.profile and start a new shell before testing cx_Oracle. If .profile does not exist, simply create one with a text editor and add the necessary path info to these variables. Example ($HOME/.profile): ------------------------- export ORACLE_HOME=[your installation path]/instantclient_11_1 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME export DYLD_LIBRARY_PATH=$ORACLE_HOME The variables placed inside $HOME/.profile need to be set prior to building. Therefore, source .profile (. $HOME/.profile) or execute each export statement above from a shell individually to set these variables. Not having DYLD_LIBRARY_PATH set inside $HOME/.profile prior to building will cause a compilation error regardless of being set in the current shell's env. After both packages are untarred a link needs to be made inside the instantclient_11_1 directory. If you are using a different version of the instant client simply adjust the link per the version of libclntsh.dylib. Steps: ------ cd $ORACLE_HOME ln -s libclntsh.dylib.x.x libclntsh.dylib Continue to step: Building and Compilation. Building and Compilation ------------------------ Use the provided setup.py to build and install the module which makes use of the distutils module. Note that on Windows, I have used mingw32 (http://www.mingw.org) and the module will not build with MSVC without modification. The commands required to build and install the module are as follows: python setup.py build python setup.py install Testing (Post Installation Quick Test) -------------------------------------- A very quick installation test can be performed from the command line using the Python interpreter. Below is an example of how this done. After importing cx_Oracle there should be a line containing only '>>>' which indicates the library successfully loaded. $ python Python 2.5.2 (r252:60911, Oct 25 2008, 19:37:28) [GCC 4.1.2 (Gentoo 4.1.2 p1.1)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import cx_Oracle >>>
相关文章推荐
- cx-oracle 编译错误问题的解决
- 解决python3捕获cx_oracle抛出的异常错误问题
- EXP-00056遇到Oracle错误1455问题解决办法
- cx_Oracle 中文汉字乱码有关问题解决
- 解决新建Support7Demos的sample时出现编译错误和运行报错出现的问题
- python中cx_Oracle模块安装遇到的问题与解决方法
- 也谈windows下cx_Oracle的配置,环境连接乱码种种问题最终解决
- Linux搭建python环境中cx_Oracle模块安装遇到的问题与解决方法
- 多个版本的Python同时连接Oracle和安装cx_Oracle问题解决
- busybox1.9编译错误问题解决方法
- 解决webrtc iOS 编译错误 Multiple codesigning问题
- (2010-07-16)关于Oracle中的sys用户认证的问题以及EM中老是提示sys用户密码错误和sys用户密码忘记等问题的解决
- Oracle 错误总结及问题解决 ORA
- 解决编译/home/module/hello.c:1: 错误:代码模式‘kernel’在 32 位模式下不受支持问题
- cx_Oracle 中文乱码问题解决
- myeclipse不能编译、有错误不提示问题解决
- 解决几个编译警告我和错误问题
- C/C++编译时的Link.EXE错误问题与解决方法
- VS中使用CXTPDockingPane出现的编译错误 error C2059: syntax error : 'constant' 解决
- oracle 数据库(ORA-01000)最多允许打开的游标数错误的问题的解决