У меня есть следующая директива в моем файле apache2_site.conf:
CustomLog "|/home/me/myjlog.py %h \"%r\"" общий
который должен создать журнал на моем сервере MySQL. myjlog.py
начинается с:
#!/usr/bin/python3
импортировать pymysql
импорт системы
ip=sys.argv[1]
запрос=sys.argv[2]
...
Однако для каждого запроса к моему сайту регистрация в моей базе данных не выполняется.
Что появляется в /var/журнал/apache2/error.log
является:
AH00106: непредвиденный сбой программы передачи журнала '/home/me/myjlog.py %h "%r"'
Traceback (последний последний вызов):
Файл "/home/alibaba/myjlog.py", строка 2, в <module>
импортировать pymysql
ModuleNotFoundError: нет модуля с именем «pymysql»
Кажется, что python не распознает модуль pymysql
. Однако этот модуль установлен для пользователей меня
и корень
...
Как я могу гарантировать доступ к pymysql
к апач2
?
РЕДАКТИРОВАТЬ:
1 - я не использую виртуальную среду на этом сервере.
2 - После настройки chmod -R g+rx /home/me/.local
и chmod -R a+rx /home/me/.local
, Я бегу sudo -u www-data python3 -m сайт
и получено:
sys.path = [
'/дом/я',
'/usr/lib/python36.zip',
'/usr/lib/python3.6',
'/usr/lib/python3.6/lib-dynload',
'/home/me/.local/lib/python3.6/сайт-пакеты',
'/usr/local/lib/python3.6/dist-пакеты',
'/usr/lib/python3/dist-пакеты',
]
USER_BASE: '/home/me/.local' (существует)
USER_SITE: '/home/me/.local/lib/python3.6/site-packages' (существует)
ENABLE_USER_SITE: Истина
Но все же Пользовательский журнал
директива не может получить доступ pymysql
.