일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- mysql
- sshpass
- postgres
- nGrinder
- postgresql
- appium server
- create table
- GoCD
- 28015
- ubuntu
- rethinkdb
- nohup
- insert
- ssh
- PYTHON
- STF_PortForwarding
- centos
- appium
- Jupyter Notebook
- nmap
- SWIFT
- ftp
- Jupyter
- 실행권한
- perfect
- port forwarding
- Materials
- openpyxl
- kitura
- STF
- Today
- Total
don't stop believing
Flask로 API 서버 만들기 (1) - 개발 환경 준비 본문
API 테스트에 사용할 대상 서버를 Flask로 만들어 보기로 했습니다.
API 테스트 교육할때 마다 API 서버를 찾아 다녔는데 이번에 만들어 놓으면 좋을 것 같습니다.
찾아보니 좋은 글이 있어서 이걸 참고하기로 합니다.
How to structure a Flask-RESTPlus web service for production builds
자세한 사항은 링크를 확인해 주세요.
저는 쭉쭉 나가겠습니다.
위 글에대한 source는 아래 링크에서 다운받을 수 있습니다.
https://github.com/cosmic-byte/flask-restplus-boilerplate
이제 시작해 보겠습니다.
먼저 Ubuntu에 접속해 버전들을 확인해 보겠습니다.
$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04.1 LTS Release: 18.04 Codename: bionic
Python 버전도 확인해 봅니다.
$ python3 -V Python 3.6.6
pip도 설치했으니 pip 버전도 확인해 봅니다.
$ pip3 -V pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)
python3와 pip3를 그냥 python과 pip 사용할 수 있도록 ~/.bashrc에 alias를 추가합니다.
$ sudo vim ~/.bashrc
~/.bashrc 파일의 제일 마지막 부분에 아래와 같이 추가합니다.
# Python alias python=python3 alias pip=pip3
그 다음 변경된 설정을 등록합니다.
$ source ~/.bashrc
python -V로 Python 3.6.6이 나오는지 확인하면 됩니다.
먼저 가상환경 구성을 설정합니다.
virtual environment wrapper를 설치하고 설정을 수정합니다.
$ sudo pip install virtualenvwrapper
그리고 python3와 virtualenvwrapper.sh가 어디있는지 확인해 봅니다.
$ which python3 /usr/bin/python3 $ sudo find / -name virtualenvwrapper.sh /home/ngle/.local/bin/virtualenvwrapper.sh
.bashrc를 열고 아래와 같이 설정을 추가합니다.
$ sudo vim ~/.bashrc
파일 아래쪽에 아래와 같이 추가합니다.
export WORKON_HOME=$HOME/.virtualenvs export PROJECT_HOME=$HOME/Devel export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv source ~/.local/bin/virtualenvwrapper.sh
이제 Directory 구조를 잡아줍니다.
아래와 같이 잡아줍니다.
$ mkdir -p ./nGleAPI/app/main/controller $ mkdir -p ./nGleAPI/app/main/model $ mkdir -p ./nGleAPI/app/main/service $ mkdir -p ./nGleAPI/app/test
각 directory 안에 __init__.py 파일도 만들어 줍니다.
touch ./nGleAPI/app/__init__.py touch ./nGleAPI/app/main/__init__.py touch ./nGleAPI/app/main/controller/__init__.py touch ./nGleAPI/app/main/model/__init__.py touch ./nGleAPI/app/main/service/__init__.py touch ./nGleAPI/app/test/__init__.py touch ./nGleAPI/requirements.txt
Directory를 확인해 봅니다.
$ cd nGleAPI/ $ tree . ├── app │ ├── __init__.py │ ├── main │ │ ├── controller │ │ │ └── __init__.py │ │ ├── __init__.py │ │ ├── model │ │ │ └── __init__.py │ │ └── service │ │ └── __init__.py │ └── test │ └── __init__.py └── requirements.txt
API 서버를 만들기 위해 필요한 Package들도 설치해 줍니다.
$ sudo pip install flask-bcrypt $ sudo pip install flask-restplus $ sudo pip install Flask-Migrate $ sudo pip install pyjwt $ sudo pip install Flask-Script $ sudo pip install flask_testing
package들이 설치되었다면 requirements.txt에 현재 개발 환경에 대한 사항을 기록합니다.
pip freeze 명령은 현재 pip을 이용해 설치된 package 정보들을 보여 줍니다. 이걸 바로 requirements.txt에 기록합니다.
$ pip freeze > requirements.txt
여기까지 개발 준비였습니다.
다음 Post에 Flask를 이용한 API 서버 개발을 시작해 봅시다.
Developing API Sample Server by Flask
Original Post: How to structure a Flask-RESTPlus web service for production builds
Github: https://github.com/cosmic-byte/flask-restplus-boilerplate
Flask로 API 서버 만들기 (1) - 개발 환경 준비
Flask로 API 서버 만들기 (2) - config 와 실행 확인
Flask로 API 서버 만들기 (3) - User 테이블 만들기
Flask로 API 서버 만들기 (4) - Testing
Flask로 API 서버 만들기 (5) - User Operations
Flask로 API 서버 만들기 (6) - Security and Authentication
'Python > Flask' 카테고리의 다른 글
Flask로 API 서버 만들기 (6) - Security and Authentication (0) | 2018.11.12 |
---|---|
Flask로 API 서버 만들기 (5) - User Operations (2) | 2018.11.12 |
Flask로 API 서버 만들기 (4) - Testing (0) | 2018.11.12 |
Flask로 API 서버 만들기 (3) - User 테이블 만들기 (2) | 2018.11.12 |
Flask로 API 서버 만들기 (2) - config 와 실행 확인 (2) | 2018.11.07 |