Apache flask应用程序部署时导入错误
在我尝试访问网站时部署Flask应用程序后,我从apache日志文件中收到此错误:Apache flask应用程序部署时导入错误,apache,flask,web-deployment,wsgi,stormpath,Apache,Flask,Web Deployment,Wsgi,Stormpath,在我尝试访问网站时部署Flask应用程序后,我从apache日志文件中收到此错误: mod_wsgi (pid=20908): Exception occurred processing WSGI script'/var/www/FlaskApp/myApp.wsgi'. Traceback (most recent call last): File "/var/www/FlaskApp/myApp.wsgi", line 8, in <module> fro
mod_wsgi (pid=20908): Exception occurred processing WSGI script'/var/www/FlaskApp/myApp.wsgi'.
Traceback (most recent call last):
File "/var/www/FlaskApp/myApp.wsgi", line 8, in <module>
from myApp import app as application
File "/var/www/FlaskApp/myApp/__init__.py", line 4, in <module>
from api import API
File "/var/www/FlaskApp/myApp/api/API.py", line 10, in <module>
import Query
ImportError: No module named Query
奇怪的是,如果我将API.py中的import Query
更改为import Email
,它不会给出任何错误,但是Email.py
与Query.py
位于同一目录中
当我在localhost中运行应用程序时,它没有给出任何错误,因此我怀疑它可能是myApp.wsgi
文件中的配置
myApp.wsgi:
import sys
import logging
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0,"/var/www/FlaskApp")
from myApp import app as application
application.secret_key = 'secret key'
我也在使用stormpath,我不知道它是否与此问题有关。使用api导入查询中的
而不是导入查询使用PEP 8建议使用小写文件名,我将文件名改为使用所有不带下划线的小写文件名,并且它仍然提供没有模块名为Query
.Hmm,我是flask stormpath库的作者,但这并不涉及所有相关的:(抱歉!我尝试了使用sys.path.append
,从api导入查询
导入的所有方法,但我仍然得到相同的错误。我在导入电子邮件
上没有得到任何错误,该邮件与查询.py
@cloclo位于同一目录下。您也必须像从api导入查询
那样更改电子邮件。api
目录类似于一个包,因为它具有\uuuu init\uuuuuuuuupy
。因此我们仅从包中导入文件。如果需要导入类似导入电子邮件
和导入查询
的文件,则该文件应位于同一目录中。在FlaskApp@cloclo对不起,我认为电子邮件中有错误,请您指定错误是什么现在怎么样?
import sys
import logging
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0,"/var/www/FlaskApp")
from myApp import app as application
application.secret_key = 'secret key'