> mkdir class-flask-backend #폴더 생성 (Make Directory)
> cd class-flask-backend #폴더 이동 (Change Directory)
# poetry
> poetry init
> poetry add flask
# conda
> conda create -n test_env python=3.10
# venv
python3.10 -m venv .venv
source .venv/bin/activate
.venv\Scripts\activate
VSC에서 python interpreter 선택 방법
Win: Control + Shift + P
python interpreter 입력 후 → ./venv/bin/python 선택
requirements.txt
는 파이썬 프로젝트에서 널리 사용되는 파일로, 해당 프로젝트를 실행하기 위해 필요한 외부 라이브러리와 패키지의 목록을 포함하고 있습니다. 이 파일은 특히 파이썬의 패키지 관리 시스템인 pip
와 함께 사용될 때 유용합니다.pip freeze > requirements.txt
requirements.txt
의 주요 기능과 사용법의존성 목록화: 프로젝트에 필요한 모든 파이썬 패키지를 나열합니다. 각 라인에 하나의 패키지 이름이 들어가며, 필요한 경우 특정 버전을 지정할 수도 있습니다.
예를 들어:
flask==1.1.2
requests>=2.23.0
numpy
쉬운 설치: requirements.txt
파일을 사용하면, 프로젝트에 필요한 모든 의존성을 한 번의 명령어로 설치할 수 있습니다. 다음 명령어를 사용합니다:
pip install -r requirements.txt
환경 일관성 유지: 모든 개발자가 동일한 버전의 패키지를 사용함으로써 프로젝트의 일관성을 유지할 수 있습니다. 이는 특히 팀 환경이나 공동 작업에서 중요합니다.
배포 용이성: 프로젝트를 다른 환경으로 이동하거나 배포할 때, requirements.txt
를 사용하여 필요한 모든 의존성을 쉽게 설치할 수 있습니다.
from gtts import gTTS
import playsound
word = 'Hello Everybody'
tts = gTTS(word)
tts.save('./hello.mp3')
playsound.playsound('./hello.mp3')
from gtts import gTTS
from googletrans import Translator
user_text = input("번역할 텍스트를 입력하세요 : ").encode('utf-8').decode('utf-8')
print(user_text)
translator = Translator()
trans = translator.translate(text=user_text, dest='en')
print(trans.text)
tts = gTTS(trans.text, lang='en')
tts.save("./hi.mp3")
import requests # pip install requests
import json
API_KEY = 'your api key'
ENDPOINT_URL = 'http://apis.data.go.kr/B552584/ArpltnInforInqireSvc'
SERVICE_PATH = '/getMsrstnAcctoRltmMesureDnsty'
params = {
'serviceKey': API_KEY,
'returnType': 'json',
'numOfRows': 1,
'pageNo': 1,
'stationName': '강남구',
'dataTerm': 'DAILY',
'ver': 1.0
}
final_url = f"{ENDPOINT_URL}{SERVICE_PATH}"
response = requests.get(url=final_url, params=params)
if response.status_code == 200:
data = json.loads(response.text)
items = data['response']['body']['items']
for i in items:
mise = int(i['pm25Value'])
else:
print('api error')