Python-Framework 19

sanic 멸망편

no module named Crypto -> pip uninstall crypto -> pip install pycrypto no module named dill pip install dill==0.2.7.1 no module named sudo gunicorn -w 2 -b 0.0.0.0:8000 --chdir /프로젝트설치경로 wsgi:app & spacy ~ 블라블라 에러가 나는경우 ->sanic 관련 라이브러리들 버젼이 전부 엉망이라서 발생하는 경우 ->sanic 관련된 애들 다 지우고 다시 설치하는게 깔끔함 sanic==0.8.3 sanic-cors==0.9.6 Sanic-Plugins_framework==0.6.3.dev20180717 cython==0.25 cymem==2.0.2 presh..

django rest api

설치 python3.x pip install djangorestframework pip install django 생성 프로젝트 생성 django-admin startproject django_project app 생성 python manage.py startapp first 설정 django_project.settings.py ALLOWED_HOSTS를 ['*']으로 바꿔주고 INSTALLED_APPS에 rest_framework와 방금 생성한 app을 등록 ...생략... ALLOWED_HOSTS = ['*'] INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.co..

AttributeError: 'result' object has no attribute 'translate'

sample source from flask import render_template @app.route("/") def index(): param = db에서 받아온 무언가 return render_template("index.html", param=param) if __name__ == "__main__": app.run(host="0.0.0.0", port=5000) AttributeError: 'result' object has no attribute 'translate' 라이브러리를 로딩하지 못해서 오류가 났다고 생각하고 그쪽만 체크했는데(극혐의 폐쇄망ㅠ_ㅠ) 결론은 param을 정상적으로 받아오지 못한 상태로 index를 로딩하려고 시도하면 저런 오류가 나는 것이었다 :

Sanic, gUnicorn, Nginx 삽질일기 2)

두둥! access log가 남지 않는 초유의 사태가 발생했다. 근데 errorlog에 저렇게 남겨줬더니 access log가 찍힌다 이유가 뭘까?.... 이렇게 설정 잡아주기 전에는 파일이 아니라 콘솔에 찍혀서 미친줄 알았다... gunicorn_config.py import datetime now = str(datetime.datetime.now()).replace('-', '').replace(' ', '') file_name = '{}_{}'.format(now[0:8], now[8:13]) #default settings workers = 몇개나? worker_class = 'sanic.worker.GunicornWorker' bind = 'unix:/소켓파일' user = 'root' erro..

Sanic, gUnicorn, Nginx 삽질일기 1)

시작은 sanic 이었습니다. sanic은 빠르다고(알려져있고) 기타등등 flask와 비슷하면서 기능은 더 많다네오.. 한마디로 flask를 쓸줄 알면 sanic은 딱히 어려울 것이 없다는 뜻이죠.. 그리고 요즘 잘나가는 회사는 sanic을 쓴다는 소문이 있길래(ㅋㅋㅋㅋ) 그래서 저는 sanic이 쓰고 싶었습니다. flask로 만든 api들을 sanic으로 바꾸는건 딱히 어렵지 않았어요. 문제는 sanic + uwsgi + nginx 였습니다. 평소 하던대로(?) 했는데 자꾸 에러를 뱉음 TypeError: __call__() takes 1 positional argument but 3 were given 더 놀라운점은 이때 난 파라미터를 안줬다는 점이죠 ㅋㅋㅋㅋㅋ 테스트용으로 api를 하나 껴놨기에....

api 만들기 기초

sanic..... 뭔가 기능이 많은듯 한데 제대로 못써먹고 있는것 같다 -ㅁ-;; 공식 레퍼런스가 넘나 광활하네요.. 여튼 잘나가는 회사는 sanic을 다 쓴다고 해서 저도 써보았습니다(불순한 의도ㅋㅋㅋㅋ) flask를 사용할때는 잘 몰라서;; param들을 하나씩 다 머리위에 이고다니느라 스트레스 많이 받은 끝에..... init 단계에서 필요한 value들을 다 가지고 다니려고 그 부분도 써놓았어요.. from sanic import Sanic, response from sanic.views import HTTPMethodView from projectName import InitParams import json, request from projectName import service app = S..