我在GoDaddy托管服务中有共享的托管。它具有以下限制。
- 无根访问
- 无权重新启动Apache Server
我的托管服务系统和应用程序规范。
- Postgres 10.7
- python3
- OS- Linux版本2.6.32-896.16.1.1.4.44.54.54.54.54.54.54.x86_64(mockbuild@buildfarm03.cloudlinux.com)(GCC版本4.4.7 20120313(红色帽子4.4.4.7-18)li>
我使用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
中设置环境变量。