ImportError в приложении WSGI с виртуальной средой - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть приложение 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 напрямую)?

Спасибо за любые указатели!

...