반응형

분류 전체보기 80

파이썬) venv로 가상환경 설치

안녕하세요~!!! 아나콘다 환경에서 pyinstaller로 실행파일을 만들다 보니 웬걸 무슨 프로그램 하나당 1G씩 도합 4G가 나오더랍니다. 도저히 이 상태로는 배포할 수 없어 서치한 결과 가상환경의 중요성을 새삼 깨닫게 되었습니다. 프로그램 실행 시에 필요한 라이브러리만 같이 패키징 해야지 제 아나콘다 환경에 설치되어있는 site-package 폴더 하위에 있는 모든 라이브러리들이 싸그리몽땅 패키징이 되어 파일 크기가 커진 것이 원인이었습니다. 그래서 오늘 가상환경 설치 방법에 대해 소개해드리도록 하겠습니다~!! 가상환경 설치 콘솔 환경은 cmd 혹은 bash 환경에서 설치하셔야 합니다. (Powershell 절 대 금 지) 저는 cmd에서 진행해보겠습니다. 우선 가상환경을 진행할 프로젝트 디렉터리에..

파이썬 2022.04.17

파이썬) pyinstaller 실행파일 생성시 모듈 찾을 수 없음

안녕하세요~! 어제 이어 산을 하나 넘었다고 생각했는데, 또 새로운 난관에 봉착했습니다. 그렇지만 전!!! 쉽게 굴복하지 않습니다!!! 저는 이번에도 해결할 수 있습니다. 항상 그래왔거든요. 코딩은 이런 해결하는 즐거움이 큰 것 같습니다. 나의 코드가 바라는 행동을 정확히 수행할 때의 그 희열감이 꾸준히 코딩을 할 수 있는 원동력이 되는 것 같습니다. 다 사랑으로 키운 내 자식들 같아요 =w= 재능은 없지만 적성은 맞는 것 같습니다. 이렇게 저는 코딩을 통해 저를 조금 더 알아가는 것 같습니다. 오늘의 문제는 다음과 같습니다. 원인 스크립트에서는 정상적으로 실행되나 pyinstaller로 실행파일 생성 시 모듈을 찾을 수 없다는 오류 발생 사용한 라이브러리 중 pymysql 라이브러리가 정상적으로 imp..

파이썬 2022.04.03

파이썬) pyinstaller로 PyQt5.ui 파일 포함해서 실행파일 만들기

안녕하세요~! 오랜만에 글을 씁니다. 요 근래 문제 해결에만 집중하고 글로 정리하지 않았다 보니 학습했던것들이 대부분 휘발되네요..ㅠㅠ 글로 정리하는 것이 이렇게 중요한 것 같습니다. 최근 PyQT5로 배포용 응용 프로그램을 하나 만들었는데요, 스크립트에서는 잘 실행되나 pyinstaller로 exe 파일로 변환 시 정상적으로 동작하지 않았습니다. 문제 원인 QtDesinger 툴을 통해서 UI를 먼저 잡고 이 파일을 파이썬 코드와 연결했는데 pyinstaller로 묶을 때는 ui 파일이 같이 패키징 되지 않아 ui 파일을 찾을 수 없다는 오류가 계속 발생했습니다. 해결 방법 1. Before 보통 ui 연결 시에 아래처럼 연결하실텐데요, from fileinput import filename impor..

파이썬 2022.04.02

[Python] 중첩 리스트에서 중복 요소 제거

중첩 리스트에서 중복값을 제거하고자 할 때 remove 내장 함수를 사용하게 되면 첫번째 요소만 제거되게 됩니다. 이럴 때는 while문을 사용하여 지정 요소가 제거될 때 까지 loop을 돌려주어 제거해주면 됩니다. 중첩 리스트가 아닌 일반 리스트에서 중복 요소를 제거해주고자 한다면 for 라인 없이 while문부터만 사용하시면 되겠습니다 # input : [['2', ',', '3'], ['3', ',', '2'], ['3', ',', '4'], ['3', ',', '4', ',', '5'], ['3', ',', '4', ',', '5', ',', '6']] # input에서 컴마를 제거하는 것이 목표입니다. for i in range(len(lst)): while ',' in lst[i]: lst[i..

파이썬 2022.01.09

JWT Authentication이란 (JSON Web Token)

JWT Authentication (JSON Web Token) 로그인 방식에는 인증(Authentication) / 인가(Authorization) 두가지 방법이 있음 인증 방식 : 로그인 시 아이디 - 패스워드를 통해 접근 가능 단점 db에 저장된 사용자 계정의 해시값 > 사용자 암호를 알고리즘으로 계산한 값과 일치하는지 확인하는 과정 > 무겁고 오래 걸리는 작업 매 요청마다 아이디, 패스워드 전송 > 보안상 위험 인가 방식 : 사용자가 한번 인증을 받고난 후 지속적으로 접근 가 세션(Session) 방식 전통적 기법, 서버 기반 인증 방법 세션 id 사용 > 사용자의 로그인 지속되는 상태를 지칭해서 '세션'이라 통칭 방식 로그인 성공 > 세션 발행 세션 브라우저(크롬에 session id로 쿠키 설..

Server 2021.11.17

파이썬) pipy 모듈 업그레이드

안녕하세요~! 이전에 파이썬 모듈 개발부터 배포까지 진행하는 법 배웠습니다. 그럼, 이미 배포한 코드에 수정사항이 있다거나, 기능을 추가하여 재배포 하고 싶을때 어떻게 하면 될까요? 이전에 개발했던 환경으로 가시면, 파이썬 배포시 생성했던 파일들이 있을겁니다. 1. 이 파일들을 모두 지워주시고, 2. setup.py, __version__.py 파일에 가서 버전을 한단계 높여 변경해줍니다. 3. 업데이트 한 파일과 버전 변경한 파일을 git에 업로드 합니다. 4. 해당 파일 전체를 pipy에 등록해줍니다. 등록 방법이 궁금하신 분들은 아래 링크 참조하세요. https://armontad-1202.tistory.com/entry/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%AA%A8%EB%93..

파이썬 2021.09.17

파이썬) 모듈 개발부터 배포까지

사내 배포용으로 라이브러리를 하나 만들었습니다. 개발한 모듈을 어떻게 효과적으로 배포할까 고민하다 이참에 pypi에 등록해서 배포해보자 라는 생각으로 시작했습니다. 같은 문제로 또 시간 허비하지 않기 위해 기록으로 남겨둡니다. 처음 해보시는 분들을 위해 아주 자세하게 기록하겠습니다 잘 따라오세요 @_@ 1. pipy 사이트 가입 로그인 하실 때 이런 화면을 보실텐데요, 이후에 모듈 업로드 시 이메일이 아닌 username과 password를 기입해야 하니 username 잘 기억해 두시기 바랍니다! 로그인 하신 뒤 잠시 대기하겠습니다. 2. 프로젝트 생성 PIPY에 맞는 파일 트리로 구성해 줄겁니다. 예를 들어 아래와 같은 모듈이 있다고 가정 해보겠습니다. 해당 모듈 내용은 아무래도 상관 없습니다. 클래..

파이썬 2021.09.15

파이썬) Multiprocessing Pool 함수 인자 여러개 일 때

안녕하세요!! 오늘은 Multiprocessing Pool 사용 시에 적용하고자 하는 함수가 여러개의 인자를 가지고 있을 때 어떻게 핸들링 하는가에 대해서 배워보겠습니다. 한국어로 깔끔하게 정리된 자료가 없는 것 같아 정리합니다. 여기에서는 기본적인 Multiprocessing의 Pool 함수에 대해서는 다루지 않겠습니다. 구글링 조금만 해봐도 정리가 잘 된 자료들이 아주 많아서요..! 일단 검색하시면 함수 인자를 하나만 받는 예시는 쉽게 찾으실 수 있습니다. 이런 예시문이요, def f(x): print("값", x, "에 대한 작업 Pid = ",os.getpid()) time.sleep(1) return x*x if __name__ == '__main__': p = Pool(4) startTime ..

파이썬 2021.09.13
반응형