0
我有一个基本的烧瓶安静的应用程序,其结构看上去像烧瓶网站上推荐的那样。烧瓶uWSGI应用程序结构和python3导入
/application
/application
/config.py
/__init__.py
/wsgi.ini
稍微不相干,但config.py
是由我们的CD服务器生成。
wsgi.ini
看起来喜欢这个
[uwsgi]
module = application:app
master = true
processes =5
socket = /tmp/application.sock
chmod-socket = 660
vacuum = true
die-on-term = true
和__init__.py
看起来像这样
import config
from flask import Flask, request, g
from flask_restful import Resource, Api, abort
app = Flask(__name__)
api = Api(app)
if __name__ == '__main__':
app.run(host='0.0.0.0', debug=True)
现在,当我尝试使用uwsgi --ini wsgi.ini
我得到这个错误来启动应用程序:
File "./application/__init__.py", line 2, in <module>
import config
原来__init__.py
被称为main.py
,我执行它来调试,这就是为什么导入现在是错误的。我想我需要改变进口是from .config import *
我的问题是双重的:
- 难道我已经完全避免了进口问题。即有没有办法在python3导入兄弟模块,这将适用于这两种方法
- 是我的wsgi.ini在正确的地方,或者它应该在内部应用程序目录?
谢谢对于答案,但它并没有真正解决这个问题。如果我的wsgi.ini位于内部应用程序文件夹之外,这种导入方法将工作,我不确定是否是正确的位置。有没有一种方法可以执行导入,无论wsgi是否位于内部应用程序文件夹外? – Leon
'wsgi.ini'的位置是不相关的。你如何运行uWSGI?您可能需要在'wsgi.ini'中设置'chdir'和/或'pythonpath'。 – dirn