본문 바로가기
IT study/06. selfStudy: code error

python -m streamit run main.py와 streamit run main.py 차이

by Lacuna028 2023. 10. 4.

streamit이라는 부트스트랩 같은 파이썬 패키지를 설치한 후 잘 설치되었는지 확인하기 위해 streamit hello 쳤다. 그랬더니 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아니라는 메세지가 출력됐다. 보통 이런 경우 패키지가 설치가 안 되어 있거나 패스를 못 잡는 경우다.

 

1. 그래서 위치 확인 (개발환경이 windows이므로)

where python

으로 python 경로 확인

 

where streamlit

 

으로 streamlit 경로 확인해봤지만 제공된 패턴에 해당되는 파일을 찾지 못했다는 문구 출력

 

 

2. pip install 다시 실행

pip install streamlit

실행 결과 Requirement already satisfied 문구 출력

 

 

3. bing에게 help친 결과 python -m streamlit run main.py 커맨드 사용 추천

설치는 되어 있는데 모듈이 설치되어 있는 path를 못 찾는 것. 

streamlit run main.py로 모듈을 실행시키려면 streamlit을 path 등록시켜줘야 하는데, 그럼 앞으로 모든 모듈을 일일히 path 등록해줘야하는 일이 발생할 수 있을 것 같아서... 그냥 python -m을 붙이기로 결정.

 

python -m 붙고 안 붙고의 차이는 python 모듈 실행 방식에 차이 있다고 함.

- stream run main.py는 시스템 path에 있는 streamit 실행 파일을 직접 호출함. 이 경우 streamit이 설치된 path 환경이 시스템의 path에 추가되어 있어야 함.

 - python -m streamlit run main.py는 현재 활성화된 python 환경에서 streamlit 모듈 실행. 이 경우 streamli이 설치된 python 환경이 반드시 현재 활성화된 환경일 필요는 없음.

 

 

+ 추가

* 시스템 변수와 사용자 변수 차이

- 시스템 변수: 모든 사용자에게 적용되는 환경 변수

- 사용자 변수: 특정 사용자에게만 적용되는 환경 변수