尝试在Apache服务器上运行mod_wsgi时出错

问题描述 投票:0回答:1

我在/ var / www里面有一个Flask项目结构目录:

item-catalog-fullstacknd\
    itemCatalogApp.wsgi
    itemCatalogApp\
        __init__.py

这是上面的WSGI文件:

import sys
import logging
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0,"/var/www/item-catalog-fullstacknd/")
from itemCatalogApp import app as application
application.secret_key = 'Add your secret key' 

这是/etc/apache2/sites-enabled/000-default.conf

WSGIPythonPath /var/www/item-catalog-fullstacknd/itemCatalogApp/
<VirtualHost *:80>
    WSGIScriptAlias / /var/www/item-catalog-fullstacknd/itemCatalogApp.wsgi

            <Directory /var/www/item-catalog-fullstacknd/itemCatalogApp>
                    Order allow,deny
                    Allow from all
            </Directory>

            Alias /static /var/www/item-catalog-fullstacknd/itemCatalogApp/static

            <Directory /var/www/item-catalog-fullstacknd/itemCatalogApp/static/>
                    Order allow,deny
                    Allow from all
            </Directory>

</VirtualHost>

我收到以下错误:

mod_wsgi (pid=17586): Exception occurred processing WSGI script '/var/www/item-catalog-fullstacknd/itemCatalogApp.wsgi'.
 Traceback (most recent call last):
   File "/var/www/item-catalog-fullstacknd/itemCatalogApp.wsgi", line 6, in <module>
     from itemCatalogApp import app as application
   File "/var/www/item-catalog-fullstacknd/itemCatalogApp/__init__.py", line 3, in <module>
     from flask import Flask, jsonify, render_template, request
 ImportError: No module named flask

我已经pip install requirements.txt文件中包含的所有模块。我不知道该怎么做了。

python flask apache2 mod-wsgi
1个回答
1
投票

您可能已经为不同的python可执行文件安装了模块,而不是默认情况下mod_wsgi使用的模块。要检查它,请添加到WSGI文件的开头:

import sys
print(sys.executable)

然后,打开shell,运行python并在那里键入相同的代码。如果路径不同,则应指定WSGIPythonHome to point at the desired python executable

© www.soinside.com 2019 - 2024. All rights reserved.