当前位置:Gxlcms > 数据库问题 > Debian下无root权限使用Python访问Oracle

Debian下无root权限使用Python访问Oracle

时间:2021-07-01 10:21:17 帮助过:41人阅读

我碰到了一个安装过程中提示找不到 Python.h 文件的,这说明系统中缺少 python-dev 包,是用 apt-get 装的,同样请运维帮装上就行了。

安装 instantclient

只是安装完 cx_Oracle,在 import 的时候会报找不到库。还要再安装一下 Oracle 官方的 instantclient。下载地址在这里,下载Instant Client Package - Basic 即可。

下载之后,进入某个有权限的目录,假如是用户的根目录 ~。将下载到的 zip 包解压,例如到 ~/oracle/instantclient_12_2/ 目录下。之后,需要添加环境变量让系统能够找到这些库。在终端的 rc 文件里,例如 ~/.bashrc 末尾,添加环境变量如下。

export ORACLE_HOME=$HOME/oracle/instantclient_12_2
export LD_LIBRATY_PATH=$ORACLE_HOME:$LD_LIBRATY_PATH
export PATH=$ORACLE_HOME:$PATH

此时,还需要额外做一件事情,就是建立 libclntsh.so 的软链接。

ln -s libclntsh.so.12.1 libclntsh.so

做这件事情的原因是,cx_Oracle 需要使用库文件 libclntsh.so,但是在解压之后的 instantclient 中只包含带有版本号的该库文件,因此我们需要人工做一个软链接,以供识别。

接下来,让刚修改了环境变量的 rc 文件生效即可。

source ~/.bashrc

需要注意的是,在这次 source 之后,之前进入的虚拟环境将被退出。如果后面还需要继续八戒影院在虚拟环境里工作的话,需要再进入一次

尾声

现在,理论上应该可以在 Python 里www.rcsx.org正常 import cx_Oracle 了。如果可以的话,说明以及可以使用了。

如果不行的话,需要补充一些报错中提到的包。我在测试过程中发现系统中缺少 libaio1 和 libaio-dev 两个包。一并请运维装上就好了。

Enjoy your work ~

Debian下无root权限使用Python访问Oracle

标签:建立   bashrc   block   env   cli   操作   公司   install   隔离   

人气教程排行