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
  1. 使用 Oracle Instant Client 的 zip 安装程序,而不是包管理器。
  2. 将文件解压缩到应用程序下的子文件夹中,例如 oracle/
  3. 使用 pip 正常安装 cx-Oracle
  4. 生成 requirements.txt.
  5. 将确切名称为 .profile 的文件添加到应用程序的根目录,在其中放入 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/vcap/app/oracle/lib(其中 /home/vcap/app 是应用程序文件的路径,oracle/lib 是您在步骤 #2 中提取文件的文件夹下的 lib 目录的路径。
  6. 然后推送您的应用。

.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 设置正确。