M1 맥북의 pyenv 환경에서 torchvision import시 에러module not found error: no module named ‘_lzma’
파이썬을 설치할 당시 XZ 유틸이 설치되지 않았기 때문에 발생하는 에러입니다. 제 경우에는 기존의 파이썬을 지우고, homebrew를 활용해 xz를 설치하고 다시 파이썬을 설치하니 정상적으로 동작했습니다.
파이썬을 설치할 당시 XZ 유틸이 설치되지 않았기 때문에 발생하는 에러입니다. 제 경우에는 기존의 파이썬을 지우고, homebrew를 활용해 xz를 설치하고 다시 파이썬을 설치하니 정상적으로 동작했습니다.
tensorflow를 pip를 활용하여 설치하다보면, grpcio 설치 부분에서 더 이상 진행되지 않는 경우가 있습니다. 이럴때는 다음과 같이 pip와 setuptool를 업그레이드 해주시고 다시 시도해보시면 됩니다. Solution Then, Happy coding!
Environment: Ubuntu 18.04 Error 1. OSError: mysql_config not found Solution 1 Error 2. unable to execute ‘x86_64-linux-gnu-gcc’: No such file or directory Solution 2 Error 3. MySQLdb/_mysql.c:46:10: fatal error: Python.h: No such file or directory Solution 3 Final Code Happy Coding!
이번 포스팅에서는 API 게이트웨이를 활용하여, EC2 인스턴스에 프록시로서 연결하는 방법에 대해서 소개해드리겠습니다. 일반적으로, AWS Lambda의 API를 만들때 API gateway를 활용하곤 합니다. 그런데, 몇몇 경우에는 EC2에 Proxy를 만들어서 사용 해야 하는 경우가 있습니다. (저 같은 경우에는 사실, 단지 SSL 인증서가 필요한 경우였는데, ELB를 달고, Certificate Manager에 Route53까지 하는 과정이 너무 과하다 싶어서 API Gateway를 이용했습니다. ㅎㅎ) 일단 지난 포스팅에서 소개했던 방식으로 저희가 EC2 인스턴스에 Flask 서버 하나를 돌리고 있다고 가정하겠습니다. “http://x.x.x.x:5000/ “.라는 서버에 API Gateway를 연결 해보도록 하겠습니다. 아래 그림만 가볍게…
여러가지 방법이 있지만, 저는 기본적으로 time 라이브러리를 활용해서 아래와 같이 구합니다. Float형태로 리턴이 되기 때문에, 필요에 따라 int로 캐스팅을 해주시면 됩니다. 만약 현재 지역(타임존)까지 고려해서 구하시려면, 아래와 같이 간단하게 해당 UTC 타임 존의 값만큼 추가를 해주시면 됩니다! Happy coding!
이번 포스팅에서는 Python에서 특정 String이 영어인지 아닌지를 구별하는 몇 가지 방법에 대해서 소개해 드리겠습니다. 1. Using isalpha method Python에서는 string 클래스는 isalpha라고 불리우는 method를 갖고 있습니다. 그런데, 한글과 같은 경우에는 위의 방식으로 하면, True로 나오는 문제가 있으므로, 만약에 한글까지 구분을 하셔야 하는 경우에는 아래와 같이 encode method를 먼저 사용하시고 isalpha를 호출 하시면 됩니다. 2. Using Regular Expression. 정규식을 활용하는 방식은 프로그래밍 언어를 떠나서 가장 일반적인 방법입니다. 3. Using operator 만약 단어 전체가 영어 알파벳이여야 하냐는 문제라고 가정을 하면, 아래와 같이…
Youtube-dl 라이브러리로 대부분의 상황에는 비디오 파일을 다운로드할 수 있지만, 헤더 설정을 필요로 하시는 분들도 종종 있을 겁니다. 그럴 때는 youtube_dl.utils 를 임포트 해서 사용하시면 됩니다! 예제 코드!
비동기식 동작을 대응하기 전까지는, 파이썬만큼 완벽한 프로그래밍 언어도 없습니다. 자바스크립트를 사용하는 많은 개발자 분들이, 콜백 지옥에 대해 불평하면서도, 막상 비동기 호출을 해야 하는 경우에는 금방 자바스크립트에 감사하게 됩니다. 최근에 여러 요청을 한 번에 보내야 하는 작업이 필요했습니다. 또한 그 요청들의 응답을 한 변수에 모아야 했습니다. 1. 일반 요청 10개의 요청을 순차적으로 보내면, 총 11.285초가 걸립니다. 더 많은 요청을 보내면, 비례해서 더 긴 시간이 걸릴 것입니다. 어떻게 문제를 해결했는지 보시죠! 2. 동시 GET request 첫 번째, 두 번째 줄은 필요한 파이썬 패키지를 임포트 한 곳이고, 네 번째 줄은 request를 요청할 함수입니다. 7번째 줄은 우리가 동시에…
먼저 정답부터 말씀드리면 ‘/’입니다. 가끔 클라이언트 사이드 코드를 수정하고 배포를 했는데, 갑자기 서버 측에서 잘 동작하던 API에 301 리다이렉트 응답을 보내는 경우가 있습니다. 제 경우에는 장고를 서버사이드로 하고, 리액트를 클라이언트 사이드로 했습니다. 그리고 API는 RESTful 스타일로 구현을 했고요. 대부분의 경우에는 클라이언트에서 보내는 요청 부분에 URL을 /로 끝내지 않아서 발생하는 것이었습니다. (Good) https://api.example.com/api/100/ (Bad) https://api.example.com/api/100 슬래쉬에 관련된 규칙을 자세하게 조사해보지는 않았지만, 만일 비슷한 상황을 맞닥드리신다면, 당황해서 서버사이드 코드나 네트워크 쪽 문제로 파지 마시고, 클라이언트 쪽 URL들을 다시 한번 확인해주세요!
여러 개의 컨테이너로 이루어진 어플리케이션을 도커를 이용해서 배포하려 하면, 한 Dockerfile로 해결이 안 되는 경우가 많습니다. 그래서 컨테이너들을 한 번에 관리하기 위해 docker compose를 사용합니다. 이번에 테스트할 어플리케이션은 Django로 작성된 간단한 웹사이트입니다. 데이터베이스는 PostgreSQL이며 마찬가지로 Docker 이용해서 설치됩니다. 그런데 일반적으로 DB는 도커를 이용해서 설치하는 게 권장되지 않습니다. DB는 일반적으로 독립적으로 계속 운용이 되면서, 어떤 앱에서든 자유롭게 접속할 수 있고 항상 정상적으로 응답을 하고 데이터도 계속 저장을 한 상태로 있어야 합니다. 만약에 도커를 이용해서 배포를 하면, 앱이 업데이트될 때마다 데이터 베이스도…