pip 失败:oci.h:没有这样的文件或

我对此有点迷失。 我还尝试安装旧版本,我是单独安装的,但它也在同一位置失败,并出现相同的错误消息。

10

11

12

13

14

15

16

17 号

18

19

20

21

22

23

24

$ 点

(…)

.c:10:17: 错误: oci.h: 没有这样的文件或

.c:11:18: 错误: orid.h: 没有这样的文件或

.c:12:16: 错误: xa.h: 没有这样的文件或

错误:'gcc' 退出 1

(…)

—————————————————-

向上…

/R/./myenv/bin/ -c" , ;='/R/./myenv/build/cx-/setup.py';exec(((, 'open', open)().read() .('

', '

'), , 'exec'))" — /tmp/pip–/-.txt —– — — /R/./myenv//site/.7,/ 中的错误代码为 1 R/./myenv/build/cx-

(大多数电话最后):

文件“/R/./myenv/bin/pip”,第 11 行,位于

系统。 退出(主())

文件“/R/./myenv/lib/.7/site-/pip/.py”,第 185 行,在 main 中

。主要的()

文件“/R/./myenv/lib/.7/site-/pip/.py”,第 161 行,在 main 中

文本='

'。加入()

:“ascii”编解码器无法在 70 中字节 0xe2:不在范围内(128)

完整的错误日志

即使在安装即时客户端并设置 $ 和 $ 以包含客户端的路径之后,我在尝试 pip 时也遇到了类似的错误。

听起来你可能已经安装了它,但没有安装 SDK。 SDK 是单独的下载/安装,两者似乎都是必需的,因为缺少的包含文件(\'oci.h\' 和所有其余内容)都在 SDK 中。

如果您还没有去过那里,可以在这里找到 /SDK 下载页面:

假设您已经下载并安装了适合您平台的客户端,例如:

-.2-basic-11.2.0.1.0-1..zip

还需要下载并安装相应的SDK,比如这个:

-.2-sdk-11.2.0.1.0-1..zip

只要 SDK 安装在 和 路径中的某个位置,包含内容就应该能够解析。

问题是指定的SDK不存在。 我能够通过以下步骤解决此问题:

从 $ 下载并安装/解压“-basic”和“-sdk”。

你可以从这里得到它们

设置/etc/

=/选择//

=/选择//

光盘$

解压/sdk/.zip

cp -R ./sdk/* 。

cp -R ./sdk//* .

ln -s .so.12.1 .so

ln -s .so.12.1 .so

现在运行 pip==5.3

我按照这些操作,它成功地为我安装了 5.3。

您可能需要安装一些额外的依赖项,这些依赖项列在您应该下载/安装的包的文档中。

在 Mac 操作系统上也经历过同样的事情。

首先,我遵循了这个答案并安装了 -basic 和 – via brew。

然后按照同样的思路,我也下载了SDK(-sdk-macos.x64-19.3.0.0.0dbru.zip)并执行:

酿造SDK

从 6 开始:

在5.2和5.3中,如果使用RPM,则不需要在安装时设置,也不需要在运行时设置。 如果您使用 zip(或真正的 DB$ 安装),则可以在安装之前设置 =1。 如果这样做,则无需在运行时设置它。 此功能已在 .

正如所解释的,这个问题通常可以通过设置环境变量来解决,以确保gcc可以访问头文件。

就我而言,它没有解决问题,但检查错误跟踪给了我一个提示。

执行 pip 显示此错误:

gcc – -fno– -O2 -g -pipe -Wall -Wp,-=2 – — –param=ssp–size=4 -m64 -mtune= – -fPIC – – -O2 -g -pipe -墙 -Wp,-=2 – — –param=ssp–size=4 -m64 -mtune= – -fPIC – -fPIC -I/home///12.1.0/rdbms/demo -I/home/ //12.1.0/rdbms/ -I/usr//.7 -c .c -o build/temp.linux–2.7-12c/.o -=5.2.1

.c:10:17: 错误: oci.h: 没有这样的文件或

.c:11:18: 错误: orid.h: 没有这样的文件或

.c:27:2: 错误:#OCI 错误。

在人海湾合作委员会:

找到 -I 标志

-I dir 将目录添加到文件列表中。 ….

所以问题出在这些标志值上:

-I/home///12.1.0/rdbms/demo

-I /home///12.1.0/rdbms/

-I /usr//.7

我真的无法说出为什么 -I 标志设置为这些值,但使其工作的一个简单方法是修改该标志以从 pip 命令行传递正确的值:

pip —= —="-I/home///sdk/"

这样一个新的-I值被发送到gcc并且安装正确结束。

好了,今天的主题就讲到这里吧,不管如何,能帮到你我就很开心了,如果您觉得这篇文章写得不错,欢迎点赞和分享给身边的朋友。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注