我在/ 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可执行文件安装了模块,而不是默认情况下mod_wsgi使用的模块。要检查它,请添加到WSGI文件的开头:
import sys
print(sys.executable)
然后,打开shell,运行python并在那里键入相同的代码。如果路径不同,则应指定WSGIPythonHome to point at the desired python executable。