Я везде искал решение для этого и перепробовал все ответы, но ничего не помогло.У меня установлен Redhat Linux 7.5 и httpd, на котором я пытаюсь запустить приложение Flask.Я выполнил следующие команды для получения настроек:
# yum install httpd
Затем для установки pip я использовал следующие команды:
# subscription-manager repos --enable rhel-server-rhscl-7-rpms
# yum install python27-python-pip -y
# scl enable python27 bash
# pip install --upgrade pip
Затем я установил флягу:
# pip install flask
и mod_wsgi:
# yum install mod_wsgi
Примечание: установка python defualt - это python 2.7.13, который является операционной системой по умолчанию.
Затем я добавил следующую конфигурацию в файл httpd.conf внутри "etc / httpd / conf / httpd.conf":
<VirtualHost *:80>
ServerAdmin root@localhost
WSGIScriptAlias / /var/www/test-flask/test-flask.wsgi
WSGIScriptReloading On
<Directory /var/www/test-flask/>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Так выглядит мой файл .wsgi:
import sys
sys.path.insert(0,"/var/www/test-flask/")
from test import app as application
, где "test" - это мой "test.py", где мое приложение для фляги находится в моем проекте "test-flask".
Когда я проверяю httpd error_log, я получаю следующую ошибку:
[Sat Sep 22 17:22:04.136222 2018] [:error] [pid 15949] [client ::1:36020] mod_wsgi (pid=15949): Target WSGI script '/var/www/test-flask/test-flask.wsgi' cannot b$
[Sat Sep 22 17:22:04.136254 2018] [:error] [pid 15949] [client ::1:36020] mod_wsgi (pid=15949): Exception occurred processing WSGI script '/var/www/test-flask/te$
[Sat Sep 22 17:22:04.136265 2018] [:error] [pid 15949] [client ::1:36020] Traceback (most recent call last):
[Sat Sep 22 17:22:04.136285 2018] [:error] [pid 15949] [client ::1:36020] File "/var/www/test-flask/test-flask.wsgi", line 2, in <module>
[Sat Sep 22 17:22:04.136324 2018] [:error] [pid 15949] [client ::1:36020] from flask import Flask
[Sat Sep 22 17:22:04.136335 2018] [:error] [pid 15949] [client ::1:36020] ImportError: No module named flask
Я также заметил, что pip не работает, пока я не выполню эту команду каждый раз, когда открываю сеанс с сервером:
# scl enable python27 bash
Я не могу найти причину, по которой wsgi не может прочитать установленный пакет фляги.Может кто-нибудь, пожалуйста, помогите?
Большое спасибо.