Python 16

애플 실리콘 칩(M1, M2) Python 환경설정 한번에 끝내기

1. PackageManager인 Homebrew 설치 echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile eval "$(opt/homebrew/bin/brew shellenv)" 2. Rosetta (인텔 CPU 호환용) 설치 softwareupdate --install-rosetta 3. python 설치 brew install python 이 글은 파이썬 3.7을 기준으로 하고 있다. 3. ~/.zshrc를 만들어서shell 설정 파일을 추가한다. vi ~/.zshrc export LDFLAGS="-L/opt/homebrew-x86_64/opt/mysql-client/lib" export CPPFLAGS="-I/opt/homebrew-x..

[Python] zstandard로 dictionary list 압축하기

# ZstdHelper HTML 삽입 미리보기할 수 없는 소스 아래 내용을 토대로만든 Zstd 헬퍼 클래스입니다. # 압축 ZstdHelper().compress(dictlist) # 압축해제 dictlist = ZstdHelper().decompress(filename) # pickle? 파이썬에서 dictionary list를 파일로 저장하고, 다시 읽으려고 할때 일반적으로는 간편한 pickle을 이용한다. 10만개의 딕셔너리를 담고있는 파이썬 리스트를 파일로 저장하고, 읽는 예시 코드를 보자. if __name__ == '__main__': result = list() for i in range(1, 100000): result.append({"indexofitem": i}) pickle_test(..

Docker에서 shellscript crontab으로 돌리기

docker container내의 crontab에서 scripts/batch.sh를 실행시키고자 한다. 5분마다 실행을하고, 필요한 환경변수를 crontab 작업에 등록시켜준다. SHELL=/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin TZ=Asia/Seoul */5 * * * * /batch/scripts/batch.sh 2>&1 | tee -a /proc/1/fd/1 /batch/logs/batch.cron.log # SHELL=/bin/bash 등록된 작업을 실행시킬 쉘을 직접 지정한다. 기본값은 /bin/sh이다. # PATH=/user/local/sbin... 쉘에서 쓰는 환경변수와 crontab에서 사용하..

CLI로 Python 실행시 No module named 오류 해결방법

# ModuleNotFoundError PyCharm같은 통합개발환경(IDE)에서 편하게 개발할때는 이슈가 없었는데, VS code로 docker에 띄울 배치 스크립트를 개발하던 중 문제가 생겼다. 가상환경(Virtual Environment)을 구성하여 활성화시키고, 실행시켰는데 모듈을 찾을 수 없다는 것이다. python .\my_game\batch1.py Traceback (most recent call last): File "C:\Users\ASUS\PycharmProjects\RankingServer\batch\my_game\batch1.py", line 6, in from libs.task.TaskManager import TaskManager ModuleNotFoundError: No mod..

[Windows] mysqlclient 설치하기 (pip install mysqlclient)

MySQLdb/_mysql.c(29): fatal error C1083: 포함 파일을 열 수 없습니다. 'mysql.h': No such file or directory error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.29.30 133\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2 pip install mysqlclient를 하려고하면 위 오류로 인해 설치가 막힌다. # 빠른 해결법 https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient 사이트에 접속하여 mysqlclient 중 ..

python이 Microsoft Store를 열때 해결방법

python >> Python python이라는 명령어를 치면 뜬금없이 Microsoft Store가 열렸다. microsoft store에서 Python을 받으려다 실패한것이 화근이었는데, 환경변수에는 Windows Apps가 있어서 이 안에 python을 실행시키고 있는 것이다. 이를 해결하기 위해서는 해당 경로로 들어가서 python이나 python3등 파일을 제거해주어야한다. 다음 명령어를 터미널에 쳐서 지워주자. Remove-Item $env:USERPROFILE\AppData\Local\Microsoft\WindowsApps\python*.exe

Python 정규식 그룹명으로 match 결과 가져오기 (group name)

filename = "backup_20220409180756_20220423180756" regex = re.compile(r"^backup_(?P\d+)_(?P\d+)$") match = regex.search(filename) if match: print(match.group("end")) # "20220423180756" 정규식 그룹명을 이용하면 편리하게 원하는 부분을 추출해낼 수 있다. (?P) 같은 식으로 사용할 수 있는데 위 예제는 정규식을 활용하여 파일명에서 시작시간과 끝시간을 뽑아내는 예제이다. 정규식 작성에 앞서 정규식을 테스트 해보기위해 regexr.com를 많이 이용하는데, 그룹명 테스트 만큼은 regex101이라는 사이트가 훨씬더 친절하게 결과가 나온다.

Falcon req.get_param()으로 모든 파라미터를 받아보자

일반적으로 Falcon에서는 Query parameter에 있는 값을 req.get_param('name')으로 읽어올 수 있다. 하지만 폼데이터 역시 동일한 방법으로 얻어오면 구분은 안가긴 하지만 편할 것이다. 간단한 세팅으로 이를 실현시킬 수 있다. application/x-www-form-urlencoded application/x-www-form-urlencoded로 들어오는 값들도 req.get_param()을 통해 얻고 싶다면 아래 라인을 추가하면 된다. app.req_options.auto_parse_form_urlencoded = True multipart/form-data 추가로 falcon-multipart라는 모듈 설치가 필요하다. pip install falcon-multipart ..

[Blender] 심즈4 블렌더로 렌더링 빠르게 하는 법

# 블렌더로 심즈4 심 렌더링하기 블렌더를 통해 심즈4 심 렌더링을 하기 위해서는 다음과 같은 절차를 거쳐야한다. 1. 블렌더 설치 [Blender] 2. TS4 SimRipper 설치 [Mod The Sims] 3. SimRipper로 DAE파일 추출 4. 블렌더로 DAE import 5. 스크립트를 통해 쉐이더/블렌드모드 설정 심즈4 렌더링 관련 가장 유명한 블로그 강의는 아래 주소다. 하지만 블렌더라는 전문 툴에 익숙한 사람들은 많지 않아 거의 여기서 입문스텝을 밟고있다. 특히 초반 쉐이더 설정은 심 "마다" 해줘야하는데, 처음하는 사람은 5분여가 걸릴 정도로 꽤나 번거로운 작업이다. 다른 사람들의 시간을 절약하기 위해...이 스크립트를 만들었다. 이 스크립트를 이용하면 한번에 Shader 설정을 ..