Flask

Flask 이용한 웹사이트 제작기 (1) - 설치

sseram 2023. 7. 10. 22:26
반응형

유튭 쇼츠만 죽어라고 내리고 있다보니, 내가 지금 뭘 하고있나.. 라는 자괴감이 들더라. 멍때리면서 손가락 운동만 해서 뭐하나...

 

생산적인 일 뭐라도 하나 해 보자는 생각이 들었다. 그러면 무엇을 해 볼까 하다가, 예전에 django 듀토리얼 따라하던게 생각이 나더라. 웹사이트 만들어 보면 재미있을 것 같아 일단 무작정 vscode 켰다. 예전에 했던 django 그대로 사용하면 흥미를 빠르게 잃어버릴 것 같으니 Flask로 결정.

 

이렇게 즉흥적으로 정해도 괜찮나? 싶긴 한데, 뭐 어떠나. 그냥 내가 하고 싶어서 해 보는 건데.

 

 

솔직히 언제까지 이 흥미가 이어질지도 모르겠고.

 

 

 

진행 환경 : Window 11

개발 IDE : Visual Studio Code

python version : python 3.9.5 (-> 3.11.4)

 


https://flask.palletsprojects.com/en/2.3.x/tutorial/

 

Tutorial — Flask Documentation (2.3.x)

Tutorial This tutorial will walk you through creating a basic blog application called Flaskr. Users will be able to register, log in, create posts, and edit or delete their own posts. You will be able to package and install the application on other compute

flask.palletsprojects.com

공식 튜토리얼 사이트는 이곳이다.

그리고 듀토리얼 이전에 중요한

 

 

https://flask.palletsprojects.com/en/2.3.x/installation/

 

Installation — Flask Documentation (2.3.x)

These distributions will be installed automatically when installing Flask. greenlet You may choose to use gevent or eventlet with your application. In this case, greenlet>=1.0 is required. When using PyPy, PyPy>=7.3.7 is required. These are not minimum sup

flask.palletsprojects.com

설치 링크는 여기.

 

 

시작하기 전에 먼저 폴더 하나 만들어 주고, git init해주고 시작하자.

 

 


 

 

installation 사이트 들어간 후, python version이 몇인지, dependency가 어떻게 되어있는지 나와있다. 그리고  greenlet에 대해서 설명이 나와있다. 이건 뭐지?

 

Greenlet은 파이썬에서 제공하는 경량 스레딩 라이브러리입니다. Greenlet은 병렬 실행이 가능한 독립적인 코드 조각인 마이크로 스레드인 "그린 스레드"를 구현하는 데 사용됩니다. 이 그린 스레드는 코드의 실행을 중지하고 다른 그린 스레드로 전환하여 병렬 실행을 시뮬레이트합니다.
Greenlet은 일반적인 스레딩 모델과는 달리, 라이브러리 수준에서 스레드 간의 협력적인 스케줄링을 제공합니다. 한 번에 하나의 그린 스레드만 실행되지만, 그린 스레드 간의 전환은 언제든지 발생할 수 있습니다. 이를 통해 동시에 실행되는 것처럼 보이는 병렬성을 얻을 수 있습니다.
Greenlet은 I/O 바운드 작업이 많은 애플리케이션에서 유용하게 사용됩니다. I/O 작업은 대개 스레드가 대기하는 동안 다른 스레드에게 CPU 시간을 양보하는 것이 효율적입니다. Greenlet을 사용하면 I/O 작업을 수행하는 동안 현재 그린 스레드를 정지시키고 다른 그린 스레드로 전환하여 CPU 사용을 최적화할 수 있습니다.
Greenlet은 greenlet 모듈을 사용하여 제공되며, switch() 메서드를 사용하여 그린 스레드 간의 전환을 수행할 수 있습니다. Greenlet은 다른 파이썬 스레딩 모델과는 달리 GIL(Global Interpreter Lock)을 우회하므로, CPU 바운드 작업에서는 성능 향상을 기대하기 어렵습니다. 주로 I/O 바운드 작업에 적합한 동시성 모델로 사용됩니다.

 

chat gpt에게 물어보니 위의 답변이 나왔다. 그러니까 쉽게 말해서 thread 사용할 수 있게 도와주는 라이브러리라는 듯 하다. 패스.

 

 

 

 

더 내려가 보니 설치 전 가상 환경을 만들어라고 나와있다.

 

 

 

 

.venv\\Scripts\\python.exe', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 101.

그리고 빠르게 위기에 봉착했다.

 

ㅏ...

 

 

 

 

찾아보니,

https://stackoverflow.com/questions/61641280/python3-8-venv-returned-exit-status-101/62207756#62207756

 

Python3.8 venv returned exit status 101

I found similar posts, mostly related to linux on venv having an issue with working. python 3.8 venv missing activate command However, I am confused on how to solve it on windows, and what is happe...

stackoverflow.com

 

구글링이 위의 링크로 자꾸 연결해 주더라. 대충 보니 all users로 설치가 되어있지 않아서 권한이 없어서 그런가 보다. 이 위의 사람은 재설치하여 문제를 해결했다고 했다.

 

 

 

 

 

 

그래서 나도 재설치했다. 하는김에 버전도 올리고. (3.9.5 -> 3.11.4)

재설치 후 다시 실행해 보니.

 

크으으으으

 

activate까지 완료!

 

 

 

 

이렇게 설치까지 깔끔하게 완료!

 

 

 

 

 

 

2023.07.15 - [Flask] - Flask 이용한 웹사이트 제작기 (2) - 폴더 구조/ hello world 띄우기

 

Flask 이용한 웹사이트 제작기 (2) - 폴더 구조/ hello world 띄우기

2023.07.10 - [Flask] - Flask 이용한 웹사이트 제작기 (1) - 설치 Flask 이용한 웹사이트 제작기 (1) - 설치 유튭 쇼츠만 죽어라고 내리고 있다보니, 내가 지금 뭘 하고있나.. 라는 자괴감이 들더라. 멍때리

donot-simsim.tistory.com

 

반응형