[엘리스 AI 트랙] 10주차 - 4
- 배포 전 준비 : .gitignore 설정
- 배포 관련 에러 해결 및 배포
.vscode/*
라는게 이미 적혀있었는데 나는 저 코드가 .vscode 폴더를 포함한 하위 모든 파일을 무시하는 거라고 생각했는데, 아니었다. .vscode/
를 추가해주니 해결되었다. import csv
from datetime import date, datetime
from dotenv import load_dotenv
import os
import mysql.connector
load_dotenv()
mysql_pw = os.environ.get("MYSQL_PASSWORD")
mydb = mysql.connector.connect(
host="localhost",
user="root",
password=mysql_pw,
database="elice_library"
)
mycursor = mydb.cursor()
beforeSQL = "DELETE FROM books_tb;"
mycursor.execute(beforeSQL)
mydb.commit()
sql = "INSERT INTO books_tb (book_name, publisher, author, publication_date, pages, isbn, description, link, img_path) VALUES(%s, %s, %s, %s, %s, %s, %s, %s, %s)"
with open('library.csv', 'r', encoding='UTF-8-sig') as f:
reader = csv.DictReader(f)
for row in reader:
publication_date = datetime.strptime(
row['publication_date'], '%Y-%m-%d').date()
img_path = f"/book_img/{row['id']}"
try:
open(f'../static/{img_path}.png')
img_path += '.png'
except:
img_path += '.jpg'
val = (row['book_name'], row['publisher'], row['author'], publication_date, int(row['pages']), int(row['isbn']), row['description'], row['link'], img_path)
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "record inserted.")
**sudo python3 app.py**
할 때모듈이 없다 릴레이 → mysql이 없다 dotenv가 없다 flask_bcrypt가 없다....... 모두 새로이 다운로드 해주었음. 그런데도 flask_bcrypt는 계속 없다고 나옴 → 구글링을 계속 해서 3페이지까지의 모든 포스팅을 봤는데 모두 거의 같은 내용으로 설치 해주라고만 떴다.... 설치는 됐는데 계속 노 모듈이라고 오류 뱉음... → sudo를 붙이고 설치해주니까 됐음..