У меня есть приложение Flask, которое работает на Centos Server с Apache 2.4.6, Python 3.6.6.Когда я запускаю свое приложение напрямую через Python, с активированным моим virtualenv, все работает нормально.
При запуске через Apache, однако, я получаю следующее ImportError
:
File "/var/www/my_app/util/database.py", line 13, in <module>
import psycopg2
File "/var/www/my_app/my-venv/lib/python3.6/site-packages/psycopg2/__init__.py", line 50, in <module>
from psycopg2._psycopg import ( # noqa
ImportError: No module named _psycopg
Так что он не может импортировать psycopg2 или, скорее, его подмодуль.Когда я запускаю консоль Python в том же virtualenv, импорт библиотеки работает нормально по тому же пути.Я не верю, что это относится к psycopg2, так как у меня была та же проблема с mysqlclient.
Я проверил, что virtualenv полностью читается пользователем apache
.Что я нахожу странным, так это то, что я действительно не могу найти имя модуля _psycopg
в каталоге psycopg2, но почему это работает, когда я импортирую библиотеку из консоли (или при запуске приложения через Python напрямую)?
Спасибо за любые указатели!