我在这一点上有点失落.我还尝试安装一个旧版本的cx_Oracle,我已经安装在一个单独的virtualenv中,但它也在同一个地方失败并出现相同的错误消息.
$ pip install cx_Oracle
(...)
cx_Oracle.c:10:17: error: oci.h: No such file or directory
cx_Oracle.c:11:18: error: orid.h: No such file or directory
cx_Oracle.c:12:16: error: xa.h: No such file or directory
error: command 'gcc' failed with exit status 1
(...)
----------------------------------------
Cleaning up...
Command /R/.virtualenv/myenv/bin/python -c "import setuptools, tokenize;__file__='/R/.virtualenv/myenv/build/cx-Oracle/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-g5eyNG-record/install-record.txt --single-version-externally-managed --compile --install-headers /R/.virtualenv/myenv/include/site/python2.7 failed with error code 1 in /R/.virtualenv/myenv/build/cx-Oracle
Traceback (most recent call last):
File "/R/.virtualenv/myenv/bin/pip", line 11, in <module>
sys.exit(main())
File "/R/.virtualenv/myenv/lib/python2.7/site-packages/pip/__init__.py", line 185, in main
return command.main(cmd_args)
File "/R/.virtualenv/myenv/lib/python2.7/site-packages/pip/basecommand.py", line 161, in main
text = '\n'.join(complete_log)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 70: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)
小智 12
即使安装了Oracle即时客户端,并且在设置$ ORACLE_HOME和$ LD_LIBRARY_PATH以包含客户端的路径之后,我遇到了类似的错误,尝试pip install cx_oracle.
听起来好像您可能已经安装了Instant Client,而不是Instant Client SDK.SDK是一个单独的下载/安装,并且cx_oracle似乎需要两者,因为缺少的包括('oci.h'和所有其余的)都位于SDK中.
如果您还没有访问过,可以在此处找到Oracle Instant Client/SDK下载页面:
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
假设您已经下载并安装了适合您平台的客户端,例如:
oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.zip
您还需要下载并安装相应的SDK,例如:
oracle-instantclient11.2-sdk-11.2.0.1.0-1.x86_64.zip
只要SDK安装在ORACLE_HOME和LD_LIBRARY_PATH路径的某个位置,就应该解析包含.
小智 6
问题在于 bschulz 指出的 SDK 不存在。我能够按照以下步骤解决问题:
下载并安装/解压缩 $ORACLE_HOME 中的“instantclient-basic”和“instantclient-sdk”。
你可以从这里得到它们
设置 /etc/environment
export ORACLE_HOME=/opt/oracle/instantclient_12_2
export LD_LIBRARY_PATH=/opt/oracle/instantclient_12_2
cd $ORACLE_HOME
unzip /sdk/ottclasses.zip
cp -R ./sdk/* .
cp -R ./sdk/include/* .
ln -s libclntsh.so.12.1 libclntsh.so
ln -s libocci.so.12.1 libocci.so
Run Code Online (Sandbox Code Playgroud)现在运行 pip install cx_Oracle==5.3
我遵循了这些,它成功地为我安装了 5.3。
您可能需要安装一些额外的依赖项,如您应该下载/安装的软件包的文档中所列。
| 归档时间: |
|
| 查看次数: |
9172 次 |
| 最近记录: |