개발하자

Google Colab에서 Python-flask를 사용하여 로컬 호스트에 연결하시겠습니까?

Cuire 2023. 10. 19. 03:04
반응형

Google Colab에서 Python-flask를 사용하여 로컬 호스트에 연결하시겠습니까?

나는 플라스크를 처음 접하는 사람이다. localhost:5000 또는 127.0.0.1:5000에 액세스할 수 없습니다. 플라스크를 쓰고 있어요. 나는 많은 해결책을 시도해 보았지만 그 중 어떤 것도 나에게 맞지 않았다. 여기 코드가 있다

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
   return ('Hello World')

if __name__ == '__main__':
   app.run()

알겠어요

 * Serving Flask app "__main__" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

로컬 호스트로 이동하면 5000 또는 127.0.0.1: 5000가 표시됩니다

127.0.0.1이 연결을 거부함** 또는 **localhost가 연결을 거부함




다음과 같이 앱을 실행해 보십시오:

if __name__ == '__main__':
    app.run(host='0.0.0.0',port=5000)

이것은 또한 서버를 만든다. 만약 기계의 IP 주소가 그렇다면 당신은 같은 네트워크에서 5000포트로 접근할 수 있다.

방화벽의 문제가 될 수도 있으며, 이 경우 다음을 수행합니다:

sudo ufw allow 5000

편집:

로컬 시스템이 아닌 Google Colab에서 실행 중이기 때문입니다. 실행 단계는 다양할 것이다.

참고하세요

Google Colab은 VM(가상 머신)을 제공하므로 로컬 웹 서버를 실행할 때 로컬 머신에서 실행하는 것처럼 로컬 호스트(로 라우팅하는 모든 작업)에 액세스할 수 없습니다. 우리가 할 수 있는 일은 ngrok을 이용한 공개 URL에 노출하는 것입니다. 파이썬 도서관 플라스크-ngrok가 온다.

다음 단계에 따라 실행합니다




실행 중인 하나의 셀이 전체 노트북을 차단하는 것을 방지하려면 서버를 하위 프로세스로 실행해야 합니다.


이 방법의 문제점은 플라스크 서버가 클 수 있다는 것이다. 기본적으로 모든 노트북 코드를 하나의 셀에 복사한 다음 스크립트로 작성해야 합니다. 간단히 GitHub에 노트북을 스크립트로 저장한 다음 !wget하고 실행하는 것이 더 쉬운 것 같습니다. 이는 %%write 파일 사용을 제안하는 답변에 첨부해야 합니다.


반응형