在 MacOS M系列处理器上使用 Anaconda 开发 Oralce 的Python程序

在 MacOS M系列处理器上使用 Anaconda 开发 Oralce 的Python程序

因oracle官方驱动暂无 苹果 M 系列处理器版本,所以使用Arm的python解释器报驱动错误:

bash 复制代码
cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library: "dlopen(libclntsh.dylib, 0x0001): tried: '/Users/xxx/software/oracle/instantclient_19_8/libclntsh.dylib' (mach-o file, but is an incompatible architecture (have (x86_64), need (arm64e))), 'libclntsh.dylib' (no such file), '/usr/lib/libclntsh.dylib' (no such file), '/Users/xxx/software/oracle/instantclient_19_8/libclntsh.dylib' (mach-o file, but is an incompatible architecture (have (x86_64), need (arm64e))), '/Users/xxx/Project/PyProject/libclntsh.dylib' (no such file)". See https://cx-oracle.readthedocs.io/en/latest/user_guide/installation.html for help

因此,只能使用intel版本转译。

如果使用 Anaconda 来管理包的话,可以这样安装。

一、到Oracle的官网上下载对应版本的驱动,下载 basic 的即可。

html 复制代码
https://www.oracle.com/database/technologies/instant-client/macos-intel-x86-downloads.html

二、将驱动解压,并放到合适的位置,例如:放在

html 复制代码
/Users/oneuser/apptools/oracle/instantclient_11_2

并修改 ~.zsh (这里要适配你所用的Shell,有可能是~.bashrc),增中一个导出

bash 复制代码
export DYLD_LIBRARY_PATH=/Users/oneuser/apptools/instantclient_11_2/%

保存

三、用Anaconda创建一个环境,打开一个新的终端,输入

bash 复制代码
CONDA_SUBDIR=osx-64 conda create -n pyoraintel python=3.9

conda activate pyoraintel

pip3 install cx_oracle  #一定要用 pip3 来安装,不要用 conda 来安装,用conda来安装会错安装成 arm 版本。
相关推荐
傻童:CPU6 分钟前
C语言练习题
c语言·开发语言
极地星光16 分钟前
协程:实战与系统集成(高级篇)
开发语言
0和1的舞者35 分钟前
《Git:从入门到精通(八)——企业级git开发相关内容》
大数据·开发语言·git·搜索引擎·全文检索·软件工程·初学者
liulilittle1 小时前
LwIP协议栈MPA多进程架构
服务器·开发语言·网络·c++·架构·lwip·通信
水淹萌龙1 小时前
玩转 Go 表达式引擎:expr 实战指南
开发语言·后端·golang
Python×CATIA工业智造1 小时前
Pycatia二次开发基础代码解析:组件识别、选择反转与链接创建技术解析
python·pycharm
艾莉丝努力练剑1 小时前
【C++:继承】面向对象编程精要:C++继承机制深度解析与最佳实践
开发语言·c++·人工智能·继承·c++进阶
penguin_bark1 小时前
C++ 异步编程(future、promise、packaged_task、async)
java·开发语言·c++
小龙报1 小时前
《数组和函数的实践游戏---扫雷游戏(基础版附源码)》
c语言·开发语言·windows·游戏·创业创新·学习方法·visual studio
小宁爱Python1 小时前
从零搭建 RAG 智能问答系统 6:Text2SQL 与工作流实现数据库查询
数据库·人工智能·python·django