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并且安装正确结束。
好了,今天的主题就讲到这里吧,不管如何,能帮到你我就很开心了,如果您觉得这篇文章写得不错,欢迎点赞和分享给身边的朋友。