Я установил базовое приложение Flask, которое использует pydevd
для удаленной отладки нашего приложения на Python.Мы также используем метод postfork()
от uwsgidecorators.Код выглядит примерно так
from flask import Flask
import sys
sys.path.append('pycharm-debug.egg') # replace by pycharm-debug.egg for Python 2.7
import pydevd
# the following line can be copied from "Run/Debug Configurations" dialog
pydevd.settrace('localhost', port=4444, stdoutToServer=True, stderrToServer=True)
print __name__
application = Flask(__name__)
@application.route('/')
def hello_world():
return 'Hello World!'
def initialize():
print "This is called"
try:
from uwsgidecorators import postfork
postfork(initialize)
except ImportError:
pass
if __name__ == '__main__':
application.run(host='0.0.0.0', port=8055)
Файл uWSGI.ini выглядит так
[uwsgi]
module = app
socket = 0.0.0.0:8000
master = true
Теперь, когда я пытаюсь запустить uwsgi ./uwsgi.ini
, отладчик останавливается на первой строкет.е. на print __name__
но приложение не запускается.Следует отметить, что postfork () не вызывает метод intialize
.После некоторых проб и ошибок я смог запустить приложение, если я удалил pydev.settrace
, мне нужно иметь возможность отладить приложение.Кто-нибудь знает, что здесь происходит?