FLASK - 가상환경 및 플라스크 앱 설정, 프로세스 확인 문의드립니다.

실행환경 : 파이참 , 터미널
OS : 맥북

1) 가상환경 폴더 구성 질문

venv폴더를 해당 프로젝트 안에 넣어서 사용해도 될까요?
어차피 프로젝트 단위로 관리를 할 예정이라 해당 프로젝트 폴더에 넣어서 하려고 하는데, 이렇게 되면 가상환경의 효과는 얻을 수 없을까요?

가상환경을 만들었으니, 하단의 위치로 Existing Project 로 변경을 하는 부분 관련하여
*'다음처럼 "Existing environment"에서 C:\venvs\myproject\Scripts\python.exe를 선택하고 "OK" 버튼을 클릭한다'

-> 이 부분을 'existing environment'를 하지 않고,
그냥 기존 프로젝트 폴더에 New environment Location 에서 venv라는 새로운 폴더 만들어서 거기에 설치하고 사용하는 것이 어떨까요?

여러 프로젝트 만들면 그냥 한폴더 프로젝트에서 이렇게 사용해도 되지 않을까 싶어서요.
이렇게 되도 가상환경처럼 파이썬 라이브러리들이 이 venv에 독립적으로 구성되지 않는지요?

2) 터미널 실행시 FLASK_APP 지정이 안되는 문제

2-1) 그리고 또한 가이드대로 터미널에서 실행하면,
(base) XXX:trip rocky$ set FLASK_APP=board
(base) XXX:trip rocky$ flask run
* 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
Usage: flask run [OPTIONS]

Error: Could not locate a Flask application. You did not provide the "FLASK_APP" environment variable, and a "wsgi.py" or "app.py" module was not found in the current directory.

위 문구가 나옵니다. board.py라는 파일을 사용하고 있구요.
이것도 가상환경이랑 연결이 되어있을려나요? (base)라고 되어있는 부분은 머신러닝 관련 공부시 anaconda에서 active해줘서 그렇습니다. 제가 이쪽 가상환경 , 리눅스 관련 지식은 약간 부족합니다...

2-2)
반면 파이참으로 해당 파이썬 파일을 실행하면 실행(삼각형)버튼을 누르면,

  • Serving Flask app "board" (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: on
  • Running on http://0.0.0.0:5001/ (Press CTRL+C to quit)
  • Restarting with stat
    hello_world!
  • Debugger is active!
  • Debugger PIN: 157-131-520
    이렇게 잘 나오긴 하고, 저 도메인을 누르면 hello board!라고 잘뜨긴 합니다.

3) 동시에 여러가지 프로세스가 있을 때, 식별하는 방법 관련 문의

5000포트는 기존에 다른 실험용 플라스크 서비스에서 사용을 하고 있어,
if name == "main":
app.run(host='0.0.0.0', port='5001', debug=True)

이렇게 밑에 소스를 추가하고 app.run으로 5001 포트로 구동을 하고 pycharm에서 실행버튼을 누르니 잘되는 것을 확인했습니다.

PID TTY TIME CMD
20865 ttys000 0:00.04 -bash
61363 ttys000 0:00.02 mysql -uroot
98237 ttys001 0:00.02 -bash
19386 ttys003 0:00.07 -bash
77545 ttys006 0:00.07 -bash

5000포트로 기존에 사용하고 있는 플라스크 실험용 페이지가 있는데, 이 페이지는 파이참을 종료했음에도 계속 떠있어, 이러한 파이썬 플라스크 프로세스를 보는 ps로 보니 이렇게 PID별 프로세스가 뜨는데, 저 제목과 현재 파이썬 프로젝트를 어떻게 맵핑시킬 수 있을까요?

질문이 많았습니다 ㅜ ㅜ
1), 2),3) 번 각각 한번씩 봐주시면 감사하겠습니다. ( _ _ )
감사합니다.

real7lucky 3735

M 2020년 11월 5일 6:36 오후

목록으로
1개의 답변이 있습니다. 1 / 1 Page

1) 가상환경 폴더의 위치는 상관이 없습니다. 프로젝트 폴더 내로 구성하셔도 됩니다.
2) set FLASK_APP=board 대신 export FLASK_APP=board 로 해 보세요.
3) ps -ef|grep flask 처럼 실행하시면 실행된 flask의 경로와 프로그램명까지 표시됩니다.

박응용

2020년 11월 5일 7:16 오후

+1 1) 넵, 감사합니다. 그렇게 하겠습니다. 2) 이렇게 하니까 되네요. 3) 이렇게 하니 2개가 나올줄 알았는데 1개가 나오네요. 대신 프로젝트 폴더명을 넣으니 각각 프로세스 떠 있는 부분이 잘 노출되는 것을 확인할 수 있었습니다. 감사합니다! - real7lucky님, 2020년 11월 5일 7:39 오후 추천 , 대댓글