no image
Docker 환경에서 ImportError: libGL.so.1: cannot open shared object file: No such file or directory 발생 시 해결 방법
문제 상황 opencv를 포함한 Docker 이미지를 만들 때 cv2의 의존 패키지가 없을 때 발생한다. 해결 방법 의존 패키지를 추가로 설치하거나 opencv-python-headless과 같이 애초에 서버용으로 제작된 라이브러리를 활용하자. opencv-python-headless 사용하기 RUN pip3 install opencv-python-headless 의존 패키지 직접 설치하기 RUN apt-get update && apt-get install libgl1-mesa-glx -y RUN apt-get update && apt-get install ffmpeg libsm6 libxext6 -y 참고 ImportError: libGL.so.1: cannot open shared object fil..
2023.05.13
no image
Poetry의 does not contain any element 오류 해결하기
문제 상황 Docker에서 poetry install 하는 과정에서 doest not contain any element 오류가 발생했다. packages = [] 가 설정돼 있어, 상위 디렉토리의 의존성까지 확인하는 것이 원인이라고 한다. packages = [{include = "style_transfer"}] 해결 방법 1. poetry install에 --no-root 옵션을 준다. poetry install --no-root 2. packages = [] 라인 자체를 삭제한다. packages = [{include = "style_transfer"}] 참고 Poetry install on an existing project Error "does not contain any element" I a..
2023.05.12
no image
[Seaborn] Figure 하나에 Graph 여러 개 그릴 때 Legend 표시하기
plot 할 때 원하는 label을 지정 Legend에 표시하고 싶은 내용을 label 인자에 입력해주면 된다. d10_ft = check3[(check3['choice'] == 1)&(check3['decile'] == 10)]['TOTL_SQ_FT_CNT'] d1_ft = check3[(check3['choice'] == 1)&(check3['decile'] == 1)]['TOTL_SQ_FT_CNT'] f, ax = plt.subplots(1, 1) sns.distplot(d10_ft, label = 'decile 10',ax=ax) sns.distplot(d1_ft, label = 'decile 1',ax=ax) ax.legend() 참고 How to add legend to seaborn mult..
2023.04.23
no image
Github Actions에서 git diff로 이전 Commit 확인하기
문제 상황Github Actions에서 git diff 명령어를 통해, 이전 Commit 정보 참고를 시도할 경우 다음과 같은 오류가 발생한다. 이때 입력한 branch 등의 이름이 잘못 되지 않아도, 동일한 메시지가 반복된다.git diff origin/main..origin/main^ 해결하기해당 오류는 checkout 액션이 가장 최근에 발생한 1개의 커밋 히스토리만 받아오기 때문에 발생하는 문제다. Github Actions이 실행되는 서버 입장에선, 히스토리 정보가 없는데 이전 커밋을 참고하라고 하니 당연히 오류가 발생할 수 밖에 없다. 이를 해결하기 위해선, checkout 액션이 이전 커밋 정보까지 받아올 수 있도록 fetch-depth 정보를 수정해줘야 한다. 앞서 1개의 커밋만 받아온다고..
2023.03.13
no image
[Git] 한글 깨짐 해결하기
문제 상황 깃 작업 중에서 diff나 status로 로그를 찍어볼 때, 한글이 깨져서 나오는 경우가 있다. git diff --name-only auto-readme..origin/auto-readme
2023.03.09
no image
asyncio의 RuntimeError: Event loop is closed 오류 해결 방법
원인Python 3.8 이후 부터, 윈도우는 타 운영체제랑 다른 EventLoop를 기본 값으로 활용한다고 한다.타 OS 기본 : SelectorEventLoop윈도우 기본 : ProactorEventLoop 해결 방법아래 코드를 입력해, 윈도우의 EventLoop를 SelectorEventLoop로 변경하면 된다.asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())주의 사항윈도우는 I/O Completion Ports를 활용해 비동기 처리 하기 때문에, SelectorEventLoop로 변경 시 아래와 같은 제약이 있다고 한다. 제약이 문제가 될 경우, Trio 라는 별도의 라이브러리를 사용하는 것이 좋다고 한다.Can't su..
2023.02.28
no image
[Git] 히스토리에서 파일 이름 변경 정보 확인하기
사용 방법 git log --follow --patch 파일명 실행 결과 git log --follow 파일명 만 활용한 경우 파일 이름이 어떻게 변했는지 확인할 수가 없다. git log --follow 2_바이러스.py >> commit d2b40f8af3740a54298d2212a91e442ba84592df Author: ~ Date: Wed Feb 15 21:34:14 2023 +0900 [Rename] : solved, retry 폴더로 구분 commit e4929ce94ceae2f22d77f2a4ff0a21cff117691a Author: ~ Date: Tue May 17 16:52:44 2022 +0900 Add : 2_바이러스.py git log --follow --patch 파일명 을 활..
2023.02.23
no image
[Git] 예전에 commit한 파일 Github에서 확인하기
사용 방법 Github의 주소의 일부분을 확인하고 싶은 시점의 commmit id로 변경한다. 변경은 blob/commit-id/파일명 형식으로 하면 된다. 기존 주소 : main 의 파일 확인 예시 : https://github.com/github/codeql/blob/main/README.md 주소 변경 : 이전 commit의 파일 확인 예시 : https://github.com/github/codeql/blob/b212af08a6cffbb434f3c8a2795a579e092792fd/README.md 원리? Git은 파일 변경 히스토리를 blob에 담고, 이를 Tree가 가리키는 방식으로 버전을 관리한다. 최종적으로 Tree를 사용자의 Commit이 가리키도록 하여 원하는 시점의 데이터를 확인할 수..
2023.02.22
no image
[BS4] select()와 find()의 차이점
select() CSS 선택자를 활용해서 HTML 태그를 찾는 방식 더 다양한 조건을 활용해 직관적으로 찾을 수 있음 titles = soup.select("div.cont_thumb > p.txt_thumb") for title in titles: if title is not None: print(title.text) find() HTML 태그를 직접 찾는 방식 cont_thumb = soup.find_all("div", "cont_thumb") for cont in cont_thumb: title = cont.find("p", "txt_thumb") if title is not None: print(title.text) 참고 BeautifulSoup 모듈 find와 select의 차이점 - 복잡한 웹..
2023.02.21
no image
Argument 때문에 jupyter notebook에서 NoneType 에러가 발생할 경우
원인 파이썬 파일 실행 시 !python3를 사용할 경우 Arguments가 인식되지 않아 NoneType 에러가 발생할 수 있다.!python3 파일명해결 방법%run 을 활용해서 파이썬 파일을 실행하자%run 파일명
2023.02.14
no image
[Python] deque의 최대 길이를 지정해서 선언하기
사용 방법 deque 선언 시 maxlen 파라미터에 인자를 전달한다. from collections import deque deque(maxlen = n)
2023.02.06
no image
[Linux] tree에서 특정 폴더, 파일 제외하기
사용 방법 -I(대문자 i) 옵션을 활용하면 된다. 옵션 뒤 " " 영역에 제외하고 싶은 폴더, 파일 명을 와일드 카드 패턴으로 나타내면 된다. 코드 예시 제거 전 !tree -L 2 ./text_recognizer # 출력 ./text_recognizer ├── callbacks │ ├── imtotext.py │ ├── __init__.py │ ├── model.py │ ├── optim.py │ ├── __pycache__ │ └── util.py ... 제거 후 !tree -L 2 ./text_recognizer -I "__pycache__" # 출력 ./text_recognizer ├── callbacks │ ├── imtotext.py │ ├── __init__.py │ ├── model.py..
2023.01.19