首页 > 解决方案 > WSGI 在同一目录中找不到导入

问题描述

我正在尝试使用 Apache 和 WSGI 部署 Flask 服务器,但在加载应用程序的主页时出现 500 错误。Flask 和 Apache 本身似乎连接得很好,但是当我查看我的 Apache 日志时,我收到以下错误ModuleNotFoundError: No module named 'keys',因为我的文件与keys.py我的 Flask 文件位于同一目录__init__.py中。

.conf在 Apache 的可用站点中的文件如下:

<VirtualHost *:80>
                ServerName SERVER'S IP
                ServerAdmin email@email.com
                WSGIScriptAlias / /var/www/FlaskApp/FlaskApp.wsgi
                <Directory /var/www/FlaskApp/FlaskApp/>
                        Order allow,deny
                        Allow from all
                </Directory>
                ErrorLog ${APACHE_LOG_DIR}/FlaskApp-error.log
                LogLevel warn
                CustomLog ${APACHE_LOG_DIR}/FlaskApp-access.log combined
</VirtualHost>

我的 .wsgi 文件如下:

#!/usr/bin/python3.6
import sys
import logging
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0,"/var/www/FlaskApp/")

from FlaskApp import app as application

我的目录结构如下:

我的 FlaskApp 文件夹的目录结构 如何获取__init__.py文件以查看同一目录中的其他 Python 文件?谢谢你的帮助。

标签: pythonapacheflaskapache2mod-wsgi

解决方案


在您的 wsgi.py 文件中,更改:

sys.path.insert(0,"/var/www/FlaskApp/")

经过 :

sys.path.insert(0,"/var/www/FlaskApp/myproject")

推荐阅读