반응형

프로그래밍/python 7

Qt Designer를 통해 작성한 ui 파일을 python에 적용.

Qt Designer는 Qt를 편리하게 사용하기 위한 UI 제작 툴이다. Qt Designer를 통해 만든 .ui 파일을 python 코드에 적용하기 위해 크게 2가지 방법이 존재한다. # .ui 파일을 .py 로 변환 아래 pyuic6 명령을 통해 Qt Designer에서 생성된 .ui 파일을 .py 파일로 변환할 수 있다. % pyuic6 overview_widget.ui -o overview_widget.py 생성된 .py는 아래와 같이 python 코드에 적용할 수 있다. from PyQt6 import uic from PyQt6.QtWidgets import QApplication, QWidget from overview_widget import Ui_overview_form class Over..

Anaconda env 설치경로 변경

회사에서 python 프로그램 개발시에는 다양한 개발환경에서 개발을 진행한다. 개발하는 프로그램마다 python 환경이 달라지고, 그때마다 새로운 env 추가하고 패키지들을 설치하다보니 PC 용량이 부족할 지경이 되었다. (현재 사용중인 개발PC의 기본 드라이브가 ssd 256g 짜리라서 사실 처음부터 부족하긴 했다.)윈도우에서 anaconda 설치시 기본적으로 C 드라이브에 진행하게 되고, 따로 변경을 하지 않으면 아래 경로에 env들이 설치된다.C:/Users//anaconda3/envs/ 아래와 같은 명령으로  anaconda env 생성 폴더 위치를 추가할 수 있다.conda config --append envs_dirs 'D:\Program Files\anaconda3_envs' 위 명령 수행시..

[IntelliJ] Commit Changes 창에서의 spelling check 해제

나는 PyCharm, Android Studio, CLion 등, VSCode 와 함께 IDE tool 을 양분하고 있는 IntelliJ 를 주로 이용하고 있다. 무엇보다도 git 이용에 있어서 매우 편리한 환경을 제공해 주는게 이 툴을 사용하는 가장 큰 이유이다. IntelliJ 계열의 툴 들을 사용하면서 눈에 좀 거슬렸던 것 중에 하나가, Commit Message를 작성할 때 Typo check가 되면서 밑줄이 쳐진다는 것이었다. 한글의 경우에는 문제가 없어도 저렇게 밑줄이 생기면서 나를 굉장히 신경쓰이게 만들었다. Setting / Editor / Inspections 에서의 Typo 설정을 꺼도 Commit Message 의 spelling 체크를 해제할 수가 없었다. 그러다가, 드디에 옵션을 ..

Qt Designer 설치 (for PyQt6, PySide6)

Qt 는 cross platform application toolkit 이며, python 을 위해 binding 된 패키지로는 PyQt와 PySide 두 가지가 존재한다. 역사적으로는 PyQt가 먼저이며, Qt에서는 공식적으로 PySide를 지원하고 있다. 라이선스가 서로 다른데, 상업적으로 사용하기에는 LGPL의 PySide가 더 유리하다고 한다. 현재는 PyQt쪽 검색자료가 더 많은 상황이지만, Qt 공식 지원하는 PySide 이므로 차차 PySide 쪽으로 대세가 넘어가지 않을까 싶다. PyQt6를 통한 Qt Designer 설치Qt Designer 설치를 위해 아래 두 package를 설치한다.pip install pyqt6pip install pyqt6-tools terminal에서 아래 명령..

[python] 암호화 package (cryptography, pycryptodome)

# pycryptodome 과거 pycrypto 라는 파이썬 암호화 패키지가 존재하였으나, 2013년 이후 더이상 업데이트가 되지 않으며, PyCryptoDome 패키지가 이를 계승하여 업데이트가 진행중이라고 한다. pycryptodome Cryptographic library for Python pypi.org # cryptography 파이썬에서 쓸만한 암호 패키지는 위의 pycryptodome과 이 cryptography 두 가지 정도인 듯 하다. cryptography cryptography is a package which provides cryptographic recipes and primitives to Python developers. pypi.org 두 패키지 모두 기본적으로 AES 알..

python 3.10 type hint / annotation

기본적으로 동적 프로그램 언어인 파이썬에서는 명시적으로 type을 지정하지 않고 실행중에 추론하여 처리하게 되는데, 이로인해 코드 규모가 커질 경우 가독성이 떨어지는 단점이 있다. 개인적으로도, 다른 사람이 작성한 코드를 분석해야 할 경우에 불편함이 상당했다. python 3.5 버전부터 type hint 가 지원되어 코드 가독성에 도움을 줄 수 있게 되었고, typing 모듈을 import하여 type hint 를 다양하게 설정할 수 있었다. python 3.10 버전부터는 typing 모듈 사용없이 좀더 간결한 방법을 사용할 수 있는데, 아래와 같이 or 연산자 사용이 가능하다. # arg1의 type은 int 또는 None # return type은 int 또는 None 요소를 포함하는 list d..

Anaconda command list

새로운 env 생성 conda create -n [ python=#.# ] 기존 env를 복제하여 새로운 env를 생성 conda create -n --clone env 제거 conda env remove -n env 이름 변경 기본적으로 anaconda 에 env 이름 변경 기능은 없으므로 복제를 활용한다. conda create -n --clone conda env remove -n 현재 생성되어 있는 env 확인 conda env list env 활성화 / 비활성화 conda activate conda deactivate * (base) 상태에서 deactivate 시 시스템의 기본 상태로 돌아간다. package 설치 / 제거 conda install [ -n env_name ] conda uni..

반응형