나는 다음과 같이 현재 출시있어 플라스크의 응용 프로그램과 함께 일하고 있어요 : FLASK_APP
이 __init.py__
를 가리키는"python -m flask runs"을 실행하는 방법 main function?
출발 명령은 python -m flask run
입니다.
__init.py__
단순히 Flask
의 인스턴스 변수 app
을 설정
Flask
세트의 글로벌 인스턴스를 감지하고이를 실행 날 것으로 보인다
from .app import get_app
app = get_app()
if __name__ == "__main__":
# do nothing
pass
이것에 관한 문서.
플라스크 앱을 포장해야하고 소켓 인스턴스를 실행해야하는 Flask-SocketIO를 통합하고 싶습니다.
from .app import get_app
app, sio = get_app() # returns a Flask and a SocketIO instance now
if __name__ == "__main__":
sio.run(app)
print("Flask-SocketIO server launched")
을하지만 예상되는 출력을 볼 수 없을, 소켓 서버가 실행하지 않는 것 : 워드 프로세서 는, 내가 주에서 실행할 수 있어야 것으로 보인다. 나에게 이것은 플라스크가 주요 기능을 무시하고 발견 한 어떤 Flask
인스턴스를 시작하는 것처럼 들린다.
왜 이런 일이 발생 했습니까? 이에 대한 문서가 있습니까? 아니면 Flask-SocketIO 통합을 잘못하고 있습니까?
'if __name__ == "__main __"'은 파일을 실행할 때만 실행되며 다른 곳에서 파일을 가져올 때는 실행되지 않습니다. 'python -m flask'는'app' 나'application' 변수를 찾거나 flask 객체를 찾습니다. 'python mymainfile.py'를 통해 실행하지 않는 이유가 있습니까? – syntonym
저에게 의미가 있습니다. Flask-SocketIO의 문서에는 [플라스크 실행에 대한 짧은 단락] (http://flask-socketio.readthedocs.io/en/latest/#initialization)이 있지만 정확히 어떻게 작동하는지 이해할 수 없습니다. 실행 코드는 생성하지 않은 다소 복잡한 Node 스크립트에서 실행되지만'python x.py'를 통한 동기는 볼 수 없습니다. –