python安装cx_Oracle 遇到的问题

server/2024/9/25 21:25:40/

重要: 搞了一天,最后发现是python的版本和cx_Oracle版本对不上。
一开始安装的python版本是3.12,而cx_Oracle的最新版本是8.3.0, 对应的python版本为3.10,因此将python版本降低为3.10, 执行 pip install cx_Oracle 即可成功。

 pip install cx_Oracle,执行默认为最新的版本,指定版本可以:pip install cx_Oracle==8.3.0

下面的不知道是否可以解决cx_Oracle 报错问题,我的是版本问题,下面的解决不了,但是在解决的过程中也将下面的操作了,不知道是否也是必须操作的。
1、安装Oracle Instant Client
2、在安装和配置Oracle Instant Client时,设置ORACLE_HOME和TNS_ADMIN环境变量是很重要的,特别是在使用cx_Oracle连接到数据库时。以下是如何设置这两个环境变量的步骤:

设置ORACLE_HOME:找到你的Oracle Instant Client安装目录。这通常是一个包含bin、lib等子目录的文件夹。
在系统环境变量中创建一个名为ORACLE_HOME的新变量,并将其值设置为Oracle Instant Client的安装路径。例如,C:\instantclient_19_12(Windows)或/opt/oracle/instantclient_19_12(Linux)。
确保在设置完环境变量后,你的系统能够正确识别ORACLE_HOME变量。
设置TNS_ADMIN:在Oracle Instant Client的安装目录下创建一个新的目录,用于存放TNS配置文件。通常可以命名为ttns或network\admin等。
将你的tnsnames.ora文件和其他TNS配置文件复制到这个新创建的目录中。
在系统环境变量中创建一个名为TNS_ADMIN的新变量,并将其值设置为包含TNS配置文件的目录路径。例如,C:\instantclient_19_12\ttns(Windows)或/opt/oracle/instantclient_19_12/network/admin(Linux)。
确保在设置完环境变量后,你的系统能够正确识别TNS_ADMIN变量。
设置完ORACLE_HOME和TNS_ADMIN环境变量后,你就可以在Python中使用cx_Oracle连接到Oracle数据库,并且它将能够找到正确的Instant Client安装目录和TNS配置文件。

以下是一个简单的示例tnsnames.ora文件:

ORCLDB =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = example.com)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = oracledb)))TESTDB =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = testdb.example.com)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = testdb)))

http://www.ppmy.cn/server/24446.html

相关文章

react怎么做到点击传参

在React中,点击事件传参通常涉及到在事件处理函数中访问和使用传递的参数。有几种不同的方法可以实现点击传参,这里列出两种常见的方式: 1. 直接在事件处理函数中接收参数 你可以直接在事件处理函数中接收参数,并在调用事件处理…

【UE5】动态播放媒体

最近项目中有一个需求,需要将场景中的42块屏幕都显示媒体内容,想着如果每一块屏幕都创建一个MediaPlayer资产、一个MediaSource资产、一个MediaTexture资产及创建对应的Material,就是4*42168个资产需要维护了,所以想着就全部采用动…

【酱浦菌-爬虫项目】爬取百度文库文档

1. 首先,定义了一个变量url,指向百度文库的搜索接口 ‘https://wenku.baidu.com/gsearch/rec/pcviewdocrec’。 2. 然后,设置了请求参数data,包括文档ID(docId)和查询关键词(query)。…

CentOS 常见的命令

CentOS 常见的命令 引言 CentOS(Community Enterprise Operating System)是基于Red Hat Enterprise Linux (RHEL)构建的开源企业级Linux发行版。它广泛应用于服务器环境中,因其稳定性、可靠性和强大的社区支持而受到许多系统管理员的青睐。掌…

深入浅出MySQL-07-【开发常用数据库对象】

文章目录 前言1.视图1.1.什么是视图1.2.视图操作1.3.创建或者修改视图1.4.删除视图1.5.查看视图 2.存储过程和函数2.1.什么是存储过程和函数2.2.存储过程和函数的相关操作2.3.创建、修改存储过程或者函数2.4.删除存储过程或函数2.5.查看存储过程或者函数2.5.1.查看存储过程或函…

神经网络高效训练:优化GPU受限环境下的大规模CSV数据处理指南

最近训练模型,需要加载wifi sci data 数据量特别大,直接干爆内存,训练也特别慢,快放弃了!随后冷静下来,然后靠着多年的经验,来进行层层优化,随诞生了这篇博客。 背景介绍 机器学习模型的训练通常需要大量的数据,尤其是对于深度神经网络模型。然而,当数据集非常庞大时…

RSA实现中弱密钥漏洞分析

RSA实现中弱密钥漏洞分析 “Analyzing Weak Key Vulnerabilities in RSA Implementation” 完整下载链接:RSA实现中弱密钥漏洞分析 文章目录 RSA实现中弱密钥漏洞分析摘要第一章 引言1.1 研究背景1.2 研究目的1.3 研究意义 第二章 RSA算法基础2.1 RSA算法原理2.2 RSA密钥生成…

深入剖析Tomcat(五) 剖析Servlet容器并实现一个简易Context与Wrapper容器

上一章介绍了Tomcat的默认连接器,后续程序都会使用默认连接器。前面有讲过Catalina容器的两大块内容就是连接器与Servlet容器。不同于第二章的自定义丐版Servlet容器,这一章就来探讨下Catalina中的真正的Servlet容器究竟长啥样。 四种容器 在Catalina中…