Как импортировать LD_LIBRARY_PATH для скрипта Python? Нет корневого доступа. Нет разрешения на перезапуск сервера Apache - PullRequest
0 голосов
/ 15 марта 2019

У меня есть общий хостинг в хостинг-сервисе GoDaddy. Он имеет следующие ограничения.

  • Нет root-доступа
  • Нет разрешения на перезапуск сервера Apache

Моя система хостинга и спецификации приложений.

  • Postgres 10,7
  • python3
  • ОС - версия 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, но все еще напрасно.

1 Ответ

0 голосов
/ 15 марта 2019

Вы можете установить переменную окружения в os.environ до импорта psycopg2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...