cx_Oracle 在 Pivotal CloudFoundry 上部署即时 oracle
Deploy instant oracle on Pivotal CloudFoundry for cx_Oracle
所以我试图推送一个 python api 与 cx_oracle 依赖关系,它也需要 oracle 即时客户端,但我找不到在 pcf 上部署即时客户端的教程,有人吗曾经这样做过或有任何例子应该做什么?欣赏
更新:
这是我的 .profile 的内部
LD_LIBRARY_PATH=/home/vcap/app/oracle/instantclient:${LD_LIBRARY_PATH:-}
export OCI_LIB_DIR=/home/vcap/app/oracle/instantclient
export OCI_INC_DIR=/home/vcap/app/oracle/instantclient/sdk/include
export PYTHONPATH=/home/vcap/app/vendor:$PYTHONPATH
export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib
- 使用 Oracle Instant Client 的 zip 安装程序,而不是包管理器。
- 将文件解压缩到应用程序下的子文件夹中,例如
oracle/
。
- 使用
pip
正常安装 cx-Oracle
。
- 生成
requirements.txt
.
- 将确切名称为
.profile
的文件添加到应用程序的根目录,在其中放入 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/vcap/app/oracle/lib
(其中 /home/vcap/app
是应用程序文件的路径,oracle/lib
是您在步骤 #2 中提取文件的文件夹下的 lib
目录的路径。
- 然后推送您的应用。
.profile
文件将在您的实际应用程序启动之前 运行 调整库搜索路径,以便可以找到 Oracle 客户端库。
如果出现错误:
cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library: "/home/vcap/app/oracle/instantclient/libclntsh.so: file too short"
仔细检查您的 .profile
脚本并确保您的 LD_LIBRARY_PATH
设置正确。
所以我试图推送一个 python api 与 cx_oracle 依赖关系,它也需要 oracle 即时客户端,但我找不到在 pcf 上部署即时客户端的教程,有人吗曾经这样做过或有任何例子应该做什么?欣赏
更新:
这是我的 .profile 的内部
LD_LIBRARY_PATH=/home/vcap/app/oracle/instantclient:${LD_LIBRARY_PATH:-}
export OCI_LIB_DIR=/home/vcap/app/oracle/instantclient
export OCI_INC_DIR=/home/vcap/app/oracle/instantclient/sdk/include
export PYTHONPATH=/home/vcap/app/vendor:$PYTHONPATH
export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib
- 使用 Oracle Instant Client 的 zip 安装程序,而不是包管理器。
- 将文件解压缩到应用程序下的子文件夹中,例如
oracle/
。 - 使用
pip
正常安装cx-Oracle
。 - 生成
requirements.txt
. - 将确切名称为
.profile
的文件添加到应用程序的根目录,在其中放入export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/vcap/app/oracle/lib
(其中/home/vcap/app
是应用程序文件的路径,oracle/lib
是您在步骤 #2 中提取文件的文件夹下的lib
目录的路径。 - 然后推送您的应用。
.profile
文件将在您的实际应用程序启动之前 运行 调整库搜索路径,以便可以找到 Oracle 客户端库。
如果出现错误:
cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library: "/home/vcap/app/oracle/instantclient/libclntsh.so: file too short"
仔细检查您的 .profile
脚本并确保您的 LD_LIBRARY_PATH
设置正确。