python - 如何为 python 脚本导入 LD_LIBRARY_PATH?没有root权限。没有权限重启apache服务器
问题描述
我在 GoDaddy 托管服务中有一个共享主机。它有以下限制。
- 没有root权限
- 没有权限重启apache服务器
我的托管服务系统和应用程序规范。
- Postgres 10.7
- 蟒蛇3
- 操作系统 -- Linux 版本 2.6.32-896.16.1.lve1.4.54.el6.x86_64 (mockbuild@buildfarm03.cloudlinux.com) (gcc 版本 4.4.7 20120313 (Red Hat 4.4.7-18)
我使用 cgi 脚本将 apache 服务器重定向到我的 Python 脚本。当 Python 尝试导入 psycopg2 模块时,抛出以下错误
/home/user/python_base/lib/python3.4/site-packages/psycopg2/_psycopg.cpython-34m.so: undefined symbol: PQescapeIdentifier
我导出了postgresql/lib
路径LD_LIBRARY_PATH
并在本地重新启动了 Python 脚本,它工作正常。
但是由于我无法重新启动 apache 服务器,我猜想运行 apache 的进程没有LD_LIBRARY_PATH
更新。所以错误仍然存在。我有一个 python 环境正在运行。我将所有库文件从 复制postgresql/lib
到mypythonenv/lib
,仍然是徒劳的。
解决方案
您可以在导入 psycopg2之前设置环境变量。os.environ
推荐阅读
- javascript - 使用 AJAX、JQuery 和 HTML 显示/隐藏数据
- java - 如何用 java 2d 数组解决这个问题?
- python - 根据另一个列表排序对对象列表进行排序
- reactjs - 渲染选择
- autohotkey - 在后台运行的 AHK 脚本
- java - Java Selenium 仅针对第一页重复打印表格行
- postgresql - 用于保持规范表与原始表同步的 Postgres 触发器
- linux - 在 NASM 汇编器中从键盘读取两次的问题
- azure - 将 Azure 应用服务连接到 keyvault 支持的应用配置会引发 403
- java - 一种优雅的方式来计算每个位置中每种类型的数量