IT 269

[python3][auto py to exe] 설치해보기

설치 자체는 쉽습니다!!(사실이라면 이런 글도 안썼음..) python3 -m pip install auto-py-to-exe 이렇게 명령 내리면 2.42.0 버전이 설치됩니다(되어야 합니다) 그리고 어렵습니다.. ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. autoit-ripper 1.1.0 requires pefile==2019.4.18, but you have pefile 2023.2.7 which is incompatible. Suc..

IT/python 2024.01.26

[chatgpt] api key 발급 받기

먼저 chatgpt 를 가입하셔야 합니다. https://chat.openai.com 에 방문하시면 가입 안내가 뜹니다. 가입이 안되어 있으신 분들은 먼저 가입부터 해결하세요. 가입 후에 https://platform.openai.com/api-keys 를 방문하셔서 Create new secret key 를 누르시면 api key 를 발급 받을 수 있습니다. 키 설명을 영어로 줘야 합니다. 저는 여기서 좀 헤맷습니다. 귀찮아서 짧은 영어로 작성했더니 오류가 발생했기 때문입니다. Error generating API key (error=enforcement_failed). If this issue persists please contact us through our help center at https:..

IT/chatgpt 2024.01.25

[bash] 다중 환경 변수(multiple environment variable)와 함께 프로그램 실행하기

기록용으로 남깁니다. 보통 환경 변수가 필요할 때 VAR1="this_value" python3 aa.py 와 같이 변수=값 을 앞에 써주고 그 뒤에 실행시킬 명령(python3 aa.py)을 써주면서 사용합니다. 이런 저런 테스트로 노가다를 하다가 보니 이런 생각이 들었습니다. argument 로 aa.py 가 해석할 명령을 주는데 그거와 별개로 파라미터를 명령 해석 및 실행이 아니라 다른 방식 또는 모드 지정을 하고 싶다는 생각이었습니다. 다만, 그렇게 하려면 키워드 옵션 지정해서 처리하거나 argparse 를 써서 설정해야 하는데 귀찮더군요.. 그래서 생각해낸 게 환경 변수였습니다. 파이썬에서도 자신의 환경 변수에 접근할 수 있으니(os.environ) 어떻게든 되겠지라는 생각을 했습니다. 다만, ..

IT/bash 2024.01.18

[vscode] "Visual Studio Code is unable to watch for file changes in this large workspace" 오류 발생 시 처리 방법

vscode 로 라즈베리파이에 접근하여 원격으로 작업시 "Visual Studio Code is unable to watch for file changes in this large workspace" 오류가 종종 발생했습니다. 그동안 계속 무시하고 있었는데 오늘은 해결책을 찾아봤네요. ms 에서는 다음 링크에 어떻게 할 지 안내하고 있습니다. https://code.visualstudio.com/docs/setup/linux#_visual-studio-code-is-unable-to-watch-for-file-changes-in-this-large-workspace-error-enospc 간단하게 정리를 해보면.. 현재 max_user_watches 값 확인 cat /proc/sys/fs/inotify/..

IT/RaspberryPi 2024.01.08

[python3] 셸 명령 파싱하기 성능 비교

기존에 파이썬 cpu 온도 얻어오는 코드가 awk 를 두번 돌려서 파싱하는 구조로 되어 있었습니다. vcgencmd measure_temp 명령 결과를 파이썬에서 파싱해도 되는데 뭐가 성능이 더 좋을까 하는 궁금증이 생겼습니다. pi@RPwiznet013:~/wiznet/skp_arhis/app $ python3 Python 3.7.3 (default, Jan 22 2021, 20:04:44) [GCC 8.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import subprocess >>> ret, res = subprocess.getstatusoutput("vcgencmd measure_te..

IT/python 2024.01.05

[raspberry pi][python3] 라즈베리 파이 모델 확인하기

기록용으로 남깁니다. 라즈베리파이의 /proc/cpuinfo 의 revision 값에서 모델 종류 값을 디코딩하는 방식으로 얻어옵니다. 간단한 코드 설명을 남깁니다. 라즈베리파이의 /proc/cpuinfo 에는 Revision 값이 남습니다. 이 값에서 모델 종류 값을 추출합니다. rev 값은 이 값을 파싱해서 16진수라는 것을 알려주고 정수로 바꿔서 저장합니다 rpi_type 값은 엄청 구형인 모델은 리스트 형태의 테이블에서 값을 가져오고 그 이외의 모델(요새 구입하는 대부분의 모델) 비트 연산을 해서 모델 코드만 뽑아냅니다. rpi_model 은 rpi_type 값과 모델명의 연결(mapping) 자료형입니다. return 문은 rpi_type 값에 해당하는 모델 값을 찾아 반환합니다. 없다면 빈 문..

IT/RaspberryPi 2023.12.28

[sed] vim 특정 줄 주석 처리

기록용으로 남깁니다. 제가 관리하는 장비의 ~/.vimrc 는 첫번째 줄에 set number 가 있고 19번째 줄에 set nowrap 이 있습니다. 저는 그 옵션을 매우 싫어 합니다. 그래서 이 옵션들을 .vimrc 의 문법인 " 을 줄 맨 앞에 삽입하여 주석처리하려고 합니다. 일일이 vim 으로 열어서 이동 수정 저장하기가 귀찮아서 한 줄 명령을 찾아봤습니다. sed -i -e '1s/^/"/' ~/.vimrc -e '19s/^/"/' ~/.vimrc 간단히 설명하면 -i 옵션을 빼면 동작 결과를 화면으로만 보여주고 실제 파일에 반영하지 않습니다. 즉, -i 는 저장 옵션 -e 는 여러 동작을 한 줄에서 순서대로 명령하기 위해서 사용합니다. 한마디로 다중 명령용 옵션 s 명령은 s/원본/대상/ 의 ..

IT/sed-awk-tr 2023.12.19

[fastapi] main.py 가 아닌 test.py 실행하기

fastAPI 를 잘 몰라서 헤매다가 이 단순한 내용을 기록용으로 남깁니다... 저는 fastapi_test.py 라는 파일을 실행시키려고 합니다. 그 파일 안에 다음 내용이 들어 있습니다. app = FastAPI() 기존에는 main.py 를 uvicorn main:app --reload 명령으로 실행시켰습니다. 그러면 main.py 가 없이 fastapi_test.py 를 실행하려면 어떻게 해야 할까요? uvicorn fastapi_test:app --reload 이 간단한 명령을 몰라서 엄청 삽질했습니다.. ㅎㅎ 참고로 현재 실행하는 디렉토리가 소스가 위치한 곳과 다르다면 이를 앱 이름에 반영해줘야 합니다. 현재 디렉토리 하위에 examples 안에 fastapi_test.py 가 존재하고 이를 ..

IT/python 2023.12.12

[windows 10] wifi 목록에서 옆집 목록 감추기

기록용으로 남깁니다. Win + X, A 키를 연속으로 눌러 powershell 을 관리자 권한으로 실행합니다. 다음 명령을 내립니다. 가리고자 하는 wifi 의 ssid가 KT_GiGA_5G_ABCD 라고 합시다. netsh wlan add filter permission=block ssid="KT_GiGA_5G_ABCD" networktype=infrastructure 제대로 들어갔는지 확인하려면 다음 명령을 내립니다. netsh wlan show filters 그러면 시스템의 차단 목록(사용자) 항목에 차단한 wifi ssid 목록이 나타납니다. 혹시 잘못 입력해서 지우고 싶은 것이 있다면 (위의 경우 KT_GiGA_5G_ABCD) 다음 명령으로 삭제하면 됩니다. netsh wlan delete f..

IT/System Digging 2023.12.07

[raspberrypi 4b] 자동 로그인 옵션 관련

sudo raspi-config 명령을 통해 NCURSES GUI 로 자동 로그인 설정을 할 수 있습니다. 접근 방법은 1 System Options >> S5 Boot / Auto Login 메뉴를 선택하면 B1, B2, B3, B4 로 자동 로그인 방법을 선택할 수 있는 창이 나옵니다. 이 중 B1, B2 는 콘솔 자동로그인에 대한 선택이고, B3, B4 는 모니터를 연결했을 때 나오는 데스크탑(기본 설치시, X 설치 안하면 해당 안됨) 자동 로그인에 대한 선택입니다. 홀수는 자동 로그인 안함, 짝수는 pi 계정에 대한 자동 로그인 허용입니다. 참고로 시스템이 켜지자 마자 사용자 세션에서 서비스를 돌리고 싶다면 콘솔 자동 로그인은 활성화 되어 있어야 합니다. 그렇지 않으면 ssh 나 키보드/모니터 연..

IT/RaspberryPi 2023.12.05