Я хотел бы интегрировать HTSQL на апач сервер, используя mod_wsgi. Оба apache и mod_wsgi были успешно настроены, hello world python script выполняется и работает!Брус установить соединение: HTSQL через mod_wsgi (файл не найден)
Однако, когда я пытаюсь запустить HTSQL питон скрипт (названный htsql_wsgi.py и используя следующие инструкции: http://htsql.org/doc/admin/deploy.html), я получаю ошибку внутреннего сервера 500. Можете ли вы предложить мне решение?
Apache журнал ошибок показывает:
[Wed Apr 13 16:26:29 2016] [error] [client 127.0.0.1] mod_wsgi (pid=5760): Target WSGI script 'C:/MAMP/scripts/htsql_wsgi.py' cannot be loaded as Python module.
[Wed Apr 13 16:26:29 2016] [error] [client 127.0.0.1] mod_wsgi (pid=5760): Exception occurred processing WSGI script 'C:/MAMP/scripts/htsql_wsgi.py'.
[Wed Apr 13 16:26:29 2016] [error] [client 127.0.0.1] Traceback (most recent call last):
[Wed Apr 13 16:26:29 2016] [error] [client 127.0.0.1] File "C:/MAMP/scripts/htsql_wsgi.py", line 8, in <module>
[Wed Apr 13 16:26:29 2016] [error] [client 127.0.0.1] application = HTSQL(DB)
[Wed Apr 13 16:26:29 2016] [error] [client 127.0.0.1] File "C:\\MAMP\\bin\\python\\lib\\site-packages\\htsql\\core\\application.py", line 186, in __init__
[Wed Apr 13 16:26:29 2016] [error] [client 127.0.0.1] % (addon.name, exc))
[Wed Apr 13 16:26:29 2016] [error] [client 127.0.0.1] ImportError: failed to initialize 'htsql': failed to establish database connection: file does not exist: htsql_demo.sqlite
Вещи, которые я уже пробовал:
ошибка Репликация работает непосредственно на Linux (в настоящее время работает над MAMP)
Успешно выполнить скрипт напрямую через python (оба cmd и терминал xUbuntu) в том же файле (htsql_demo.sqlite), размещенном на одном сервере .
- Play с разрешениями (набор 777 в папку, содержащую htsql_demo.sqlite)
- Play с разрешениями на httpd.conf (изменение параметров с помощью каталогов, файлов, месторасположении)
Проблема возникает с использованием MAMP (Windows, 7, Apache 2.2., Python 2.7.) Или xUbuntu (Apache 2.4., Python 2.7.). На обеих машинах ошибка одинакова.
Большое спасибо за ваши предложения
Как называется путь, который вы используете для файла базы данных? Вы не должны использовать относительное имя пути, поскольку текущий рабочий каталог процесса не будет там, где находится ваш код. –
Пробовал несколько разных путей, таких как sqlite: /// C: \ MAMP \ Scripts \ htsql_demo.sqlite; SQLite: C: \ MAMP \ Scripts \ htsql_demo.sqlite; SQLite: // C: /MAMP/Scripts/htsql_demo.sqlite; и т. д. и т. д. ... Знаете ли вы, что должно быть правильным? – Dfinzgar
Попробуйте использовать «sqlite: /// C: /MAMP/Scripts/htsql_demo.sqlite». Не используйте обратную косую черту в строках в Python для путей в Windows, поскольку обратная косая черта будет интерпретироваться как экранирование следующего символа. –