2

我使用的是 Python 2.7(32 位),我的操作系统是 64 位 Windows 7。

我正在尝试安装 cx_Oracle 模块。我已经运行了 msi“cx_Oracle-5.1.2-10g.win32-py2.7.msi”,然后我在 cmd 行上运行了“easy_install cx_Oracle”并得到了消息:

错误:无法找到 vcvarsall.bat

我在这个网站上发现最好的解决方案是安装 Microsoft Visual Studio 2008,我是通过我在这个网站上找到的链接安装的。

现在,当我在 cmd 行上运行“easy_install cx_Oracle”时,我收到以下消息,我不知道这意味着什么:

C:\Python27>easy_install cx_Oracle Searching for cx-Oracle Reading ....org/simple/cx_Oracle/ Reading ....net/crew/atuining Reading ...sourceforge.net 最佳匹配:cx-Oracle 5.1.2 下载 http://prdownloads.sourceforge.net/cx-oracle/cx_Oracle-5.1.2.tar.gz? 下载 处理 cx_Oracle-5.1.2.tar.gz 写 c:\users\cnielsen\appdata\local\temp\easy_install-44rupd\cx_Oracle-5.1.2 \setup.cfg 运行 cx_Oracle-5.1.2\setup.py -q bdist_egg --dist-dir c:\users\cnielsen\appdata\local\temp\easy_install-44rupd\cx_Oracle-5.1.2\egg-dist-tmp-eyihnb Traceback(最近一次调用最后):文件“C:\ Python27\Scripts\easy_install-script.py",第 9 行,在 load_entry_point('setuptools==0.8', 'console_scripts', 'easy_install')() 文件 "build\bdist.win-amd64\egg\setuptools\command\ easy_install.py”,第 1992 行,在主文件“build\bdist.win-amd64\egg\setuptools\command\easy_install.py”,第 1979 行,在 with_ei_usage 文件“build\bdist.win-amd64\egg\setuptools\ command\easy_install.py”,第 1996 行,在文件“C:

4

5 回答 5

1

重申 Leandro 所说的,如果您已经运行了 .msi 安装程序并且需要安装 oracle 即时客户端,则不需要 easy_install cx_Oracle。

正如您已经发现的那样,安装 oracle Instantclient 意味着您只需将其解压缩到系统中的文件夹中(例如:C:\oraclient)。

需要记住的一些事项:

确保您使用相同版本(或兼容版本)的 cx_Oracle、instantclient 和数据库服务器本身。例如,instantclient v12 不支持版本 10) 以下的数据库服务器。此外,请确保您使用的是所有 32 位或所有 64 位版本(包括 cx_Oracle、instantclient 和 python 本身)。

此外,您需要将环境变量 ORACLE_HOME 和 PATH 设置为解压缩 oracle 即时客户端的目录(例如:C:\oraclient),以避免您提到的 ImportError(DLL 加载失败:%1 不是有效的 Win32应用)。ImportError 仅仅意味着它找不到所需的库。

于 2013-12-03T19:09:10.203 回答
0

对于 Windows 7 64 位,您需要“Windows amd64 安装程序(Oracle 11g,Python 3.3)”。它也适用于英特尔。

我没有 InstantClient,但使用 Oracle 11.2 安装(64 位)中的 SQL*Plus。

于 2014-02-12T15:16:17.417 回答
0

由于 cx_Oracle 仅使用 Oracle TNS 名称工具进行连接,您可能还需要设置 TNS_ADMIN 环境变量以指示要使用的 TNS 名称文件所在的位置。这个问题也让我很苦恼。

于 2014-01-31T20:51:56.710 回答
0

easy_install 步骤试图在您的机器上编译 cx_Oracle 源代码,但这不是必需的,因为您已经安装了 MSI,它是一个预编译的二进制版本。

您安装的 MSI 应该足以使用 cx_Oracle,前提是您还安装了二进制 Oracle 客户端(例如,instantclient)。

于 2013-08-18T17:12:45.707 回答
0

经过3天的搜索,我终于解决了这个问题。

诀窍是:

  1. Install vcredist_x86.exe. After installing this, I ran easy_install cx_Oracle and no longer saw the original error message.
  2. Reinstall Python 2.7.5, making sure it is the 32 bit version (x86)
  3. Reinstall my IDE "PyScripter", making sure it is the 32 bit version (x86)
于 2013-08-20T20:16:57.030 回答