[CMAKE] Makefile을 활용하여 Flask 커맨드 단순화

개발/Flask 2021. 11. 11. 08:20

매번 flask 프로젝트 세팅을 할 때, flask ~ command를 최소 4~5번은 입력해야 하는 불편함(이라 쓰고 귀찮음 이라 읽는다) 이 있어서 CMAKE를 통해 여러 command를 하나의 command로 통합하여 해결하였다. 프로젝트 디렉토리에 Makefile을 생성하고, 다음과 같이 작성한다. .ONESHELL: .PHONY: clean pip-packages install tests init migrate upgrade run first clean: find . -type f -name '*.pyc' -delete find . -type f -name '*.log' -delete pip-packages: sudo apt install python-pip -y install: pip3 ins..

[Github Action] Test 시 환경 변수 파일 처리

개발/Flask 2021. 11. 9. 08:20

Github Action을 통해 Flask의 유닛 테스트를 시도하는 도중 config.py에서 'DATABASE_URL'키의 값을 찾을 수 없다는 KeyError가 아래와 같이 발생되었다. .env 파일은 주로 API_KEY와 같은 민감한 정보를 담고 있는 환경 변수를 포함하고 있어서 보안 문제로 Github에 업로드를 하지 않지만, 테스트를 위해 업로드를 해야한다. Github Repository의 Actions Secret에는 환경 변수를 암호화해서 저장해놓고, Action에서 환경변수를 가져와서 사용할 수 있게 해준다. Github Action을 돌리는 Github 레포의 Secrets에 필요한 환경변수를 저장하고, Github Action의 해당 yaml 파일에 적용시킨다. name: flask ..

Article Thumbnail
[PyJWT] jwt.encode( )가 bytes-str이 아닌 str타입을 리턴 시

개발/Flask 2021. 11. 8. 08:20

jwt.decode('utf-8')에서 AttributeError: 'str' object has no attribute 'decode'. AttributeError: 'str' object has no attribute 'decode'. 와 같은 AtrributeError가 발생하였다. 원인 원인은 PyJWT 모듈의 버전 2.0.0 부터 jwt.encode가 리턴한 token의 타입이 bytes에서 str로 변경되였기 때문이다. 해결 방법 PyJWT의 버전을 2.0.0의 직전 버전인 1.7.1으로 변경하면 임시방편으로 해당 에러는 발생하지 않는다. 추후 2.0.0 버전 이상에서는 decode를 어떻게 하는지 추가할 예정이다. 참고) https://github.com/jazzband/djangorestf..

[Github] [remote rejected] (refusing to allow a Personal Access Token to create or update workflow) 에러 발생 시 해결

개발/Flask 2021. 11. 5. 08:20

Github Action 파일을 추가하고 git push를 했더니 Personal Access Token에 workflow 권한이 없어서 [remote rejected] (refusing to allow a Personal Access Token to create or update workflow ~ 와 같은 에러가 발생되었다. Github -> settings -> 사이드 바에서 development settings 혹은 development -> Personal Access Token 순으로 이동하면, 현재 사용하고 있는 토큰이 리스트로 쭉 나타날 텐데 현재 사용하고 있는 토큰을 클릭해서 내리다보면 Select Scopes라 되어있는 부분이 있다. 여기서 체크가 되어있지 않은 workflow에 체크를..

Article Thumbnail