【问题标题】:How to install cx_oracle python module for Google Colaboratory如何为 Google Colaboratory 安装 cx_oracle python 模块
【发布时间】:2019-08-23 18:41:34
【问题描述】:

我真的要在stackoverflow上问的第一个问题! 我正在尝试使用 cx_Oracle Python 模块在 Google Colab 中使用 SQL 查询。但是,为了使 cx_oracle 正确运行,我需要安装 Oracle Instantclient - 这是一个问题,因为 Colab 在 VM 上工作。没有客户端,我得到错误:

"DatabaseError: (cx_Oracle.DatabaseError) DPI-1047: 找不到 64 位 Oracle 客户端库:“libclntsh.so:无法打开共享对象 文件:没有这样的文件或目录”。”

我试图将 oracle instantclient_18_5 解压后的文件夹放入 Colab 脚本所在的 GDrive 中。之后,我尝试将 LD_LIBRARY_PATH 更改为指向它,但无论我做什么, LD_LIBRARY_PATH 目录都是 /usr/local/nvidia/lib:/usr/local/nvidia/lib64 。

!sudo apt-get install python-dev build-essential libaio1

!python -m pip install cx_Oracle --upgrade

''' 我尝试了很多在互联网上找到的代码来更改此 LD_LIBRARY_PATH 但无济于事。示例:'''

!export LD_LIBRARY_PATH="/content/gdrive/Team Drives/.../instantclient_18_5":$LD_LIBRARY_PATH

我想将 Oracle 客户端安装到 google VM 上,或者做一些可以从 Gdrive 获取的操作。任何可行的方法让我可以在 Google Colab 上使用 cx_oracle 对我来说就足够了。

编辑:澄清一下,将我的 Oracle SQL 数据库连接到 Google Colab python 笔记本的任何方式都可以!不必专门通过 cx_oracle。

【问题讨论】:

  • 我也有同样的问题。有人吗?

标签: python oracle google-cloud-platform google-colaboratory


【解决方案1】:

不是一个理想的解决方案,而是一种变通方法,即通过外星人安装官方 RPM,然后繁荣! cx_python 有效。

  1. 下载官方 Oracle Instant 客户端基本精简版 RPM https://download.oracle.com/otn_software/linux/instantclient/193000/oracle-instantclient19.3-basiclite-19.3.0.0.0-1.x86_64.rpm
  2. 将 RPM 放在 Gdrive 中的某个位置
  3. 安装 Gdrive

    from google.colab import drive ROOT = "/content/blah" drive.mount(ROOT)

  4. 安装外星人和cx_Oracle

    !pip install cx_Oracle #install Oracle client library !apt install alien !alien -i /content/blah/foo/bar/oracle-instantclient19.3-basiclite-19.3.0.0.0-1.x86_64.rpm

hwala,它对我有用

【讨论】:

    猜你喜欢
    • 2017-12-10
    • 1970-01-01
    • 2011-05-17
    • 2020-05-05
    • 2018-06-25
    • 2011-09-20
    • 1970-01-01
    • 2020-07-01
    相关资源
    最近更新 更多