Anaconda 3.5(64位Windows)安装cx_Oracle

2024-01-03

我已经安装了适用于 Windows 64 位的 Anaconda 3.5,并且需要使用包“cx_Oracle”连接到 Oracle 数据库。

我尝试使用 anaconda 方式:

conda install -c https://conda.anaconda.org/anaconda cx_oracle

错误信息如下:

Hint: the following packages conflict with each other:
  - cx_oracle
  - python 3.5*
Use 'conda info cx_oracle' etc. to see the dependencies for each package.
Note that the following features are enabled:
  - vc14

看来 cx_oracle 与 Python 3.5 不兼容。

之后,我还尝试直接使用二进制文件安装:

python setup.py install

它会抛出一堆错误,例如:

cx_Oracle.obj : error LNK2001: unresolved external symbol OCILobGetChunkSize
cx_Oracle.obj : error LNK2001: unresolved external symbol OCIStmtExecute
cx_Oracle.obj : error LNK2001: unresolved external symbol OCILobFileClose

有没有办法为 Anaconda 3.5 安装 cx_oracle ?


这有点不平凡。然而可行。按着这些次序:

1) 下载适用于 Windows x64 的 Oracle Instant 客户端

http://www.oracle.com/technetwork/topics/winx64soft-089540.html http://www.oracle.com/technetwork/topics/winx64soft-089540.html

例如选择客户,例如11.2.0.4

-> instantclient-basic-windows.x64-11.2.0.4.0.zip

-> instantclient-sdk-windows.x64-12.1.0.2.0.zip

2)创建目录并在其中解压客户端和sdk:

例如c:\ora\11gx64

3)设置ORACLE_HOME和TNS_ADMIN

See https://superuser.com/questions/949560/how-do-i-set-system-environment-variables-in-windows-10 https://superuser.com/questions/949560/how-do-i-set-system-environment-variables-in-windows-10欲了解详情

e.g. ORACLE_HOME=c:\ora\11gx64

and TNS_ADMIN=c:\ora\11gx64

还要在您的 %PATH% 中添加 %ORACLE_HOME%

4) 在创建的目录中放置文件 tnsnames.ora 并填充到 db 的连接字符串:

%ORACLE_HOME%**tnsnames.ora**

XE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  )

-> 将 127.0.0.1 替换为您的主机名

-> 将 XE 替换为您的 SID

5)我想你已经安装了Python。

-> 否则请访问 Python 下载页面

-> 安装 python(撰写本文时为 3.6.1)

-> 如果未安装,请安装 pip (https://pip.pypa.io/en/stable/installing/#do-i-need-to-install-pip https://pip.pypa.io/en/stable/installing/#do-i-need-to-install-pip)

-> 执行python get-pip.py

6) 下载并安装 Visual C++ 2015 构建工具

-> 搜索 Visual C++ 2015 构建工具 -> 安装visualcppbuildtools_full.exe

7)使用pip安装cx_oracle

  pip install cx_oracle

(在撰写本文时,默认安装的版本 5.3 有问题,因此必须安装版本 6.0b2)

  python -m pip install cx_Oracle --pre

在我看来,对于 conda 和 pip 来说,第一步都是通用的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Anaconda 3.5(64位Windows)安装cx_Oracle 的相关文章

随机推荐

  • 如何在 Mac 中打开 conda shell

    我是 conda 和 mac 的新手 我主要使用 Ubuntu 和 pip mac 上有 conda shell吗 我想我在某处读到没有 如果是这种情况 我该如何运行如下命令 conda env create f environment y
  • 将图像数据存储在 MySQL 数据库中?

    我正在实施一个处理大量图像的项目 您认为以下两种方法的优缺点是什么 我需要存储数千个项目 每个项目作为多个字符串属性和一个图像 每个项目作为 ID 整数 MyISAM 表 How would you store the images 方法1
  • Android和PHP登录认证

    我正在尝试在 android 上制作一个应用程序 其中用户需要登录应用程序才能使用它 登录验证将由 PHP Web 服务完成 我有一个login java class CustomeHTTPClient这是我从互联网上获得的示例代码 有一种
  • 提高字典模糊字符串匹配的性能

    所以我目前正在使用第二弦 http secondstring sourceforge net 对于模糊字符串匹配 我有一个大字典可以比较 字典中的每个条目都有一个关联的非唯一标识符 我目前正在使用 hashMap 来存储这本字典 当我想要进
  • 需要加入列表的元素,但加入后保留元素周围的 ''

    我的清单是 example a b c 如果我使用 join example 去除 围绕元素 我希望我的输出是 example a b c 有什么优雅的方法可以做到吗 不确定它是否优雅 但它可以工作 基于默认表示list对象 因此根本不灵活
  • Google App Engine——Java 还是 Python? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我注意到这是在以下帖子 https stackoverflow com questions 1085898 choosing java vs p
  • 如何使用 vue-i18n 加载我真正需要的语言文件?

    使用 vue i18n 可以很容易地翻译你的 Vue js 应用程序 但随着项目的增长 您不想加载所有语言的所有消息 大多数用户从不切换语言 我们为每种语言都有单独的域 并且切换语言的情况极为罕见 所以 vue i18n 似乎支持延迟加载
  • Kubernetes 上的多代理 Kafka 如何设置 KAFKA_ADVERTISED_HOST_NAME

    我当前包含 3 个 Kafka 代理的 Kafka 部署文件如下所示 apiVersion apps v1beta1 kind StatefulSet metadata name kafka spec selector matchLabel
  • 如何在 Android 中在按钮上显示动态文本并自动调整其大小?

    我正在开发一个项目 需要我根据用户在按钮上的选择来显示一些动态文本 我知道如何进行文本显示部分 但我一直困惑于如何在固定大小的按钮上正确显示不同的文本 例如 苹果 和 我有一个苹果 如何才能达到显示 苹果 时文字尺寸变大适合按钮 而显示 我
  • pylint 1.4 报告所有 C 扩展上的 E1101(无成员)

    我们一直是pylint 它的静态分析已经成为我们所有 python 项目的关键部分 并且节省了大量的时间来追踪隐藏的错误 但从 1 3 gt 1 4 升级后 几乎所有编译的 c 扩展都会导致 E1101 no member 错误 之前运行完
  • 如何在Python中合并两个嵌套的字典?

    我有两个嵌套的字典数据 我想将它们合并以在 python 中创建一本字典 词典数据 dict1 employee dev1 Roy dict2 employee dev2 Biswas 现在我试图用它们创建一个像下面这样的字典 所需输出 d
  • 从文件路径中提取文件扩展名

    如何提取给定文件路径的文件扩展名作为字符 我知道我可以通过正则表达式来做到这一点regexpr alnum x 但想知道是否有内置函数可以处理这个问题 使用 R 基本工具很容易找到这种东西 例如 路径 无论如何 加载tools打包并读取 f
  • 允许使用 docker-machine 配置的主机中存在不安全的注册表

    有没有什么可以配置的 允许不安全 ssl用于使用 docker machine 创建的 docker 守护进程 命令 docker machine create driver virtualbox dev eval docker machi
  • 不同状态下不同的词法分析器规则

    我一直在为 HTML 中嵌入的某些模板语言 FreeMarker 开发解析器 例如 abc h1 Welcome user lt if user Big Joe gt our beloved leader h1 p Our latest p
  • 是否可以创建一个没有 EOF 标记的文件?

    我们有一个读取平面文件并解析数据的应用程序 该文件不包含用于进行校验和的标头信息或总数据 所以我想创建测试用例以确保我们的应用程序正确处理 不完整 文件 有没有办法创建没有 EOF 标记的平面文件 也许有一个工具可以用来从现有文本文件中删除
  • 仅允许管理员删除文件?

    我正在编写一个 C 应用程序 我想设置 在应用程序启动时 权限 以便只有管理员才能删除应用程序使用的文件 所有其他用户不应删除它或修改其权限 应保护该文件免受标准文件系统使用的影响 因此 除了管理员之外 没有人可以删除它 只有管 理员应该能
  • DOMDocument::loadHTMLFile() 修改用户代理

    我使用 PHP 在 DOM 树中加载网站 有没有办法修改使用发送的用户代理DOMDocument loadHTMLFile function parseThis url html new DOMDocument html gt loadHt
  • 在 Android 应用程序中播放背景声音

    我想在我制作的应用程序中播放背景声音 帮我看看我该怎么做 这是完整的代码 public class Numbers extends Activity public static MediaPlayer mp null Override pr
  • input['file']accept="image/*" 用 Chrome 打开对话框太慢了

    当我使用
  • Anaconda 3.5(64位Windows)安装cx_Oracle

    我已经安装了适用于 Windows 64 位的 Anaconda 3 5 并且需要使用包 cx Oracle 连接到 Oracle 数据库 我尝试使用 anaconda 方式 conda install c https conda anac