Python

[Python] PyInstaller로 컴파일한 코드를 decompyle3로 디컴파일 하기 포스트 Teaser

[Python] PyInstaller로 컴파일한 코드를 decompyle3로 디컴파일 하기

카테고리:

3 분 소요

PyInstaller PyInstaller는 Python 애플리케이션과 모든 종속 요소를 단일 패키지로 묶는 소프트웨어이다. 이를 통해 프로그램 사용자는 파이썬 인터프리터나 모듈을 설치하지 않고도 프로그램을 실행할 수 있다. PyInstaller는 Python 3.8 이상을 지원하며 numpy, matplotlib, PyQt, wxPython 등과 같은 많은 주요 Python 라이브러리들을 패키징한다. ※ 해당 프로그램이 무엇으로 패킹 되었는지는 Exeinfo PE를 사용하여 확인한다. 언패킹 python-exe-unpacker 스크립트를 사용하여 PyInstaller로 묶인 파일들을 언패킹해준다. git clone https://github.com/countercept/python-exe-un

[Pandas] matplotlib 한글 폰트 설치하기 포스트 Teaser

[Pandas] matplotlib 한글 폰트 설치하기

카테고리:

최대 1 분 소요

이전 포스팅 내용 https://syudal.kr/post/Jupyter-pandas-matplotlib-한글-폰트-설치하기/ 문제 해결 이전에 위와 같이 포스팅 했던 것을 보면 pandas에 matplotlib 한글 폰트 설치하는 방법은 다음과 같다. sudo apt-get install fonts-nanum* 하지만 Jupyter와는 달리 Python Console에 아래와 같이 입력해도 폰트 캐시가 삭제되지 않고 해당 메소드가 없다고 출력된다. import matplotlib matplotlib.font_manager._rebuild() 폰트 캐시를 수동으로 삭제하면 되는데 ~/.cache/ 경로에 존재한다. sudo rm -rf ~/.cache/ 이후 Django나 Flask,

[Python] Docker Ubuntu 이미지에 Virtualenv 설치하기 포스트 Teaser

[Python] Docker Ubuntu 이미지에 Virtualenv 설치하기

카테고리:

1 분 소요

virtualenv virtualenv는 격리된 파이썬 환경을 만들기 위한 도구로 다른 프로젝트에는 영향을 끼치지 않는다. apt-get install python3-virtualenv virtualenv 폴더명 위와 같은 명령어로 virtualenv를 설치한다. 만약 아래와 같이 ModuleNotFoundError가 출력된다면 virtualenv가 꼬여있다는 뜻이므로, 다음과 같은 명령어로 삭제후 다시 실행한다. No module named 'virtualenv.seed.via_app_data' pip3 uninstall virtualenv 이상이 없다면 다음과 같이 출력된다. 이후 source 명령어를 통해 해당 폴더로 진입해야 하는데, docker ubuntu 이미

[Python, Django] DisallowedHost 오류 Invalid HTTP_HOST 해결하기 포스트 Teaser

[Python, Django] DisallowedHost 오류 Invalid HTTP_HOST 해결하기

카테고리:

1 분 소요

DisallowedHost DisallowedHost 오류는 Django 웹 프레임워크에서 발생하는 일반적인 오류 중 하나이다. 이 오류는 보안상의 이유로 Django 애플리케이션이 허용되지 않은 호스트에서 요청을 받았을 때 발생한다. 문제 상황 django에 도메인을 연결해서 외부 테스트를 하려고 하면, DisallowedHost 라는 메시지가 뜨면서 연결이 되지 않는다. 문제 원인 이는, 디버깅 모드에서 ALLOWED_HOSTS 변수가 빈 리스트일 경우 [‘localhost’, ‘127.0.0.1’, ‘[::1]’] 의미가 되어 로컬 호스트에서만 접속이 가능하다. 디버깅 모드를 해제하면 일체 접속이 허용되지 않고 명시적으로 지정한 호스트에만 접속할 수 있다. 수정하기 위해서는 settin

[Flask] 콘솔 종료해도 백그라운드에서 실행 포스트 Teaser

[Flask] 콘솔 종료해도 백그라운드에서 실행

카테고리:

최대 1 분 소요

문제 상황 Flask의 경우, 콘솔이나 ssh를 종료하면 flask또한 같이 종료된다. 문제 해결 해결하기 위한 방법은 아래와 같다. nohup python3 -u flask_app.py & nohup은 터미널이 종료되어도 표준 출력인 콘솔 출력은 nohup.out 파일에 계속해서 기록된다. 백그라운드로 실행된 프로세스를 종료하기 위해서는 ps명령으로 pid를 확인한 후, kill하면 된다. ps -ef | grep [프로세스명] # 혹은 ps -aux kill -9 [PID]

[Jupyter] pandas matplotlib 한글 폰트 설치하기 포스트 Teaser

[Jupyter] pandas matplotlib 한글 폰트 설치하기

카테고리:

1 분 소요

Pandas로 한글 데이터 불러오기 pandas를 통해 한글이 포함된 csv를 불러오는 방법은 아래와 같다. import pandas as pd df = pd.read_csv('./data.csv', sep=',', encoding='utf-8') df.head() 인코딩의 문제가 없으므로, 해당 파일의 head 부분을 잘 불러온다. 하지만, 이를 plot()함수를 이용하여 변환시키면 아래와 같이 인코딩이 깨져 네모로 표현된다. 해결 방법 기본적으로 Ubuntu에는 나눔글꼴이 설치되어 나오나, JupyterHub Docker Image에는 나눔글꼴이 설치되어 있지 않은 우분투 기반 Image이므로, 다음과 같은 명령어를 쉘에 입력하여 나눔글꼴을 설치