mod_wsgi выдает ModuleNotFoundError, пытаясь запустить flaskr (пример учебника по фляге) - PullRequest
0 голосов
/ 14 ноября 2018

Я пытаюсь настроить приложение flaskr * для запуска через mod_wsgi на Apache в Windows.(* учебный пример на сайте документации по фляге http://flask.pocoo.org/docs/1.0/tutorial/)

Исходный код был клонирован прямо из git в структуру здесь.

C:\development\git\pallets\flask\examples\tutorial\flaskr>tree /F
│  auth.py
│  blog.py
│  db.py
│  flaskr.wsgi
│  schema.sql
│  __init__.py
│
├─static
│      ...
├─templates
│  │  ...
│  │
│  ├─auth
│  │    ...
│  └─blog
│       ...
└─__pycache__
    ...

flaskr.wsgi , которая является моей работой\ conf \ extra \ httpd-vhosts.conf Я настроил конфигурацию виртуального хоста, как показано ниже.

<VirtualHost *:80>  

    WSGIScriptAlias /flaskr_complete C:/development/git/pallets/flask/examples/tutorial/flaskr/flaskr.wsgi
    <Directory C:/development/git/pallets/flask/examples/tutorial/flaskr>
        Require all granted
    </Directory>

    WSGIScriptAlias /hellohello C:/development/FlaskApps/helloworldapp/helloworldapp.wsgi
    Alias /static/ C:/development/FlaskApps/helloworldapp/static
    <Directory C:/development/FlaskApps/helloworldapp>
        Require all granted
    </Directory>        
</VirtualHost>

Доступ в моем браузере http://127.0.0.1/flaskr_complete и получил ошибку. Журнал ошибок Apache сообщаетчто mod_wsgi не может найти flaskr.

C: \ xampp \ apache \ logs \ error.log

[Wed Nov 14 17:35:20.026772 2018] [wsgi:error] [pid 11032:tid 1712] [client ::1:53501] mod_wsgi (pid=11032): Failed to exec Python script file 'C:/development/git/pallets/flask/examples/tutorial/flaskr/flaskr.wsgi'.
[Wed Nov 14 17:35:20.026772 2018] [wsgi:error] [pid 11032:tid 1712] [client ::1:53501] mod_wsgi (pid=11032): Exception occurred processing WSGI script 'C:/development/git/pallets/flask/examples/tutorial/flaskr/flaskr.wsgi'.
[Wed Nov 14 17:35:20.026772 2018] [wsgi:error] [pid 11032:tid 1712] [client ::1:53501] Traceback (most recent call last):\r
[Wed Nov 14 17:35:20.026772 2018] [wsgi:error] [pid 11032:tid 1712] [client ::1:53501]   File "C:/development/git/pallets/flask/examples/tutorial/flaskr/flaskr.wsgi", line 11, in <module>\r
[Wed Nov 14 17:35:20.026772 2018] [wsgi:error] [pid 11032:tid 1712] [client ::1:53501]     from flaskr import create_app\r
[Wed Nov 14 17:35:20.026772 2018] [wsgi:error] [pid 11032:tid 1712] [client ::1:53501] ModuleNotFoundError: No module named 'flaskr'\r

Среда: - Win 7 - Apache2.4(как в XAMPP v3.2.2) - Python 3.7.1 - mod_wsgi 4.6.5 (локально скомпилирован и установлен)

Проблема:

  • Это меня очень озадачивает. Я подумал, что «flaskr» - это пакет здесь, и мне также трудно понять, почему WSGI жалуется, что его не нашли.

  • Что я здесь упустил / неправильно поняли как мне заставить это работать?


Я очень плохо знаком с питоном и флягой.Я знаю, что это может выглядеть примитивно, но я потратил довольно много времени на него и до сих пор не понимаю.Я ценю помощь всех, кто готов уделить мне время, чтобы помочь мне в этом.Заранее спасибо.



Примечание: helloworldapp в файле конфигурации виртуального хоста - это еще одно приложение, которое я настроил для изучения конфигурации.это работает отлично.Они расположены в C: \ development \ FlaskApps \ helloworldapp

## helloworldapp.wsgi
import sys
sys.path.insert(0,"C:\development\FlaskApps")
from helloworldapp import app as application

## __init__.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
    return "Hello, Flask!"
if __name__ == "__main__":
    app.run()
...