当前位置: 首页 > news >正文

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

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

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

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 的即可。

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

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

/Users/oneuser/apptools/oracle/instantclient_11_2

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

export DYLD_LIBRARY_PATH=/Users/oneuser/apptools/instantclient_11_2/%

保存

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


CONDA_SUBDIR=osx-64 conda create -n pyoraintel python=3.9conda activate pyoraintelpip3 install cx_oracle  #一定要用 pip3 来安装,不要用 conda 来安装,用conda来安装会错安装成 arm 版本。

相关文章:

  • 【Java】零基础蓝桥杯算法学习——二分查找
  • python从入门到精通(二十):python的exe程序打包制作
  • Sentinel 流控-关联模式
  • LeetCode:67.二进制求和
  • InternLM大模型实战-3.InternLM+Langchain搭建知识库
  • Map和Set(哈希表)
  • 【OpenHarmony硬件操作】风扇与温湿度模块
  • DarkSide针对VMware EXSI系统进行加密
  • CTR-----Click-Through Rate简单介绍
  • ClickHouse--04--数据库引擎、Log 系列表引擎、 Special 系列表引擎
  • 再说开源软件
  • 年假作业10
  • 【数据结构】11 堆栈(顺序存储和链式存储)
  • java客运管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目
  • TCP和UDP相关问题(重点)——9.超时重传怎么实现的?
  • hexo+github搭建个人博客
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • css选择器
  • Facebook AccountKit 接入的坑点
  • NLPIR语义挖掘平台推动行业大数据应用服务
  • React-Native - 收藏集 - 掘金
  • Yeoman_Bower_Grunt
  • 基于web的全景—— Pannellum小试
  • 基于组件的设计工作流与界面抽象
  • 详解NodeJs流之一
  • 新版博客前端前瞻
  • 一道闭包题引发的思考
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 阿里云服务器购买完整流程
  • #pragma multi_compile #pragma shader_feature
  • (2)STL算法之元素计数
  • (c语言)strcpy函数用法
  • (二开)Flink 修改源码拓展 SQL 语法
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (转) ns2/nam与nam实现相关的文件
  • (转)创业家杂志:UCWEB天使第一步
  • (轉)JSON.stringify 语法实例讲解
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .NET Core中Emit的使用
  • .Net FrameWork总结
  • .NET6实现破解Modbus poll点表配置文件
  • .net和php怎么连接,php和apache之间如何连接
  • .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
  • .sh文件怎么运行_创建优化的Go镜像文件以及踩过的坑
  • .vue文件怎么使用_我在项目中是这样配置Vue的
  • @cacheable 是否缓存成功_让我们来学习学习SpringCache分布式缓存,为什么用?
  • @EnableWebMvc介绍和使用详细demo
  • [ C++ ] STL_vector -- 迭代器失效问题
  • [2019.3.5]BZOJ1934 [Shoi2007]Vote 善意的投票
  • [AutoSar]BSW_Memory_Stack_004 创建一个简单NV block并调试
  • [C#]使用PaddleInference图片旋转四种角度检测
  • [C++]命名空间等——喵喵要吃C嘎嘎