您的位置:首页 > 数据库 > Oracle

linux环境下安装python3以及安装cx_Oracle模块需要注意的事项

2020-01-15 08:56 134 查看

linux环境下安装python3以及安装cx_Oracle模块需要注意的事项

python3的安装

1. 首先安装python3之前首先要安装python所依赖的环境
yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y
2. 下载python3的安装包,到官网下载所需要的版本
https://www.python.org/
3. 解压源代码到指定目录下
4. 生成编译脚本(cd 到安装的目录下configure所在路径)
./configure --prefix=/usr/local/python3
5. 编译 并且安装: make && make install
6. 删除原有的启动命令,原linux系统自带的python的软连接
rm /usr/bin/python
7. 添加软连接的方法
ln -s 源文件安装路径 目标文件路径
例如: ln -s /usr/local/python3/bin/python3
/usr/bin/python
8. 同时添加pip3的软连接
ln -s /usr/local/python3//bin/pip3 /usr/bin/pip
9. 此时可以查看python是否安装成功可以输入
python -V
pip -V 查看当前默认的版本号与指向
10. 然后需要将对yum命令的干涉改正过来
输入 vim /usr/bin/yum
将脚本最上边的#! /usr/bin/python 改为
#! /usr/bin/python2
然后进入 vim /usr/libexec/urlgrabber-ext-down
所改正内容与上述修改一致即可
此时yum命令即可正常使用,并且python3安装成功,并且已经设置为默认启动的python版本

linux下安装python的cx_Oracle模块

11. 首先下载两个配置文件
instantclient-basic-linux.x64-11.2.0.3.0.zip
instantclient-sdk-linux.x64-11.2.0.3.0.zip
此下载的此两个文件的版本号要统一版本
并且下载后放入同一目录下,首先解压instantclient-basic-linux.x64-11.2.0.3.0.zip,会生成新的文件, 然后解压instantclient-sdk-linux.x64-11.2.0.3.0.zip,但是不会生成新的文件目录
unzip instantclient-basic-linux.x64-11.2.0.3.0.zip
unzip instantclient-sdk-linux.x64-11.2.0.3.0.zip
12. 设置环境变量
vim /etc/profile 添加如下内容
export ORACLE_HOME=/安装目录/instantclient_11_2/
export LD_LIBRARY_PATH=LDLIBRARYPATH:LD_LIBRARY_PATH:LDL​IBRARYP​ATH:ORACLE_HOME
目录为上边两个文件的安装目录的最深层文件的路径
执行source /etc/profile 使得刚才修改的环境变量生效
13. 然后创建软连接
cd /安装目录/instantclient_11_2/
ln -s libclntsh.so.11.1 libclntsh.so
注意: 如果此时不再包含 libclntsh.so.11.1的路径下, 则需要将软连接包含的两个文件都写上绝对路径
14. 最后是安装cx_Oralce
下载cx_Oracle所需要的版本号,此处的版本号并不是越高越好, 相反尽量不安装最新版本
15. 解压压缩包
cd cx_Oracle_5.3
python setup.py install
此处如果报错File “setup.py”, line 174, in
raise DistutilsSetupError("cannot locate an Oracle software "
distutils.errors.DistutilsSetupError: cannot locate an Oracle software installation
则证明无法找到调用cx_Oracle的软连接
此时需要将userOracleHome的路径改为libclntsh.so的绝对路径即可
16. 如果以上都正常, cx_Oracle安装成功
进入python交互环境输入import cx_Oracle 观察cx_Oracle是否安装成功, 若不报错,则说明安装成功
17. 执行python文件进行测试
如果无法连接数据库, 则很有可能是从windows传到linux的文件编码格式有问题, 也或者是环境变量的变量名设置有误, 仔细检查
19. 如果连接数据库成功, 但是执行程序时候显示 ‘ascii’ codec can’t encode characters in position 0-15: ordinal not in range(128)错误, 那么依然是编码解码的问题
vim /etc/profile中在刚才添加环境变量的位置再添加
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
然后执行 source /etc/profile 使修改后的环境变量生效
此时再执行python文件即可

以上方法反复测试均有效,仅供遇见同样问题的朋友参考,望能有所帮助

  • 点赞
  • 收藏
  • 分享
  • 文章举报
feng7011 发布了1 篇原创文章 · 获赞 0 · 访问量 122 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: