240319 TIL

jjin·2024년 3월 20일
0

Python 가상환경

0. 개요

사용 이유

python 프로젝트 A와 B를 진행 중일 때, B에서 A에서도 쓰고 있는 패키지의 다른 버전을 사용하고 싶어서 다른 버전을 설치하면, 원래 있던 버전은 삭제되어 A에서 돌아가지 않는 문제를 겪는다. 분리된 가상환경 및 패키지를 설치해준다. 다른 버전을 가상환경을 사용한다.

대표적인 가상환경들

conda, virtualenv, venv, pipenv

VE / Container / VM

하나의 컴퓨터에서 다른 프로젝트의 같은 패키지들을 독립적으로 관리하고 싶다면 가장 가벼운 VE를 사용하고, (거의 소요x, Conda, Venv 등)

다른 컴퓨터, 협업 상황 등 다른 OS 환경에서도 같은 환경을 유지하고 싶다면 한 단계 아래인 Container 수준 가상화가 필요하고, (몇 초 소요, Docker)

OS 부팅 시 자동로그인되며, 브라우저 및 서비스가 자동으로 시작하는 등 OS 수준을 가상화하고 싶다면 한 단계 더 내려가서 VM으로 OS를 띄워야한다. (몇 분 소요, VirtualBox-Vagrant)

1. pipenv

가상환경 실행

pipenv shell 가상환경 활성화된 터미널 열기
pipenv run COMMANDS... 가상환경에서 스크립트/명령어 실행만 하고, 활성화하지 않기

가상환경 종료

exit 입력으로 터미널 빠져나오기

패키지 관리

lock 파일로 패키지 관리. lock파일을 만들기 위한 명세 = pipfile
현재 설치된 패키지의 lock파일 만들기:
pipenv install numpy pandas matplotlib
pipenv lock

이미 pipfile 있는 경우 pipenv install만 하면 가상환경 생성, 패키지 자동 설치

2. venv

파이썬 3.5 이후 표준 내장 모듈. pip 내장되어 편리

가상환경 생성

python3 -m venv ENV_NAME
source ENV_NAME/bin/activate

3. conda

21년 쯤 유료화됨. 학생, 비영리단체, 개인, 200명 이하 기업은 가능.

개발 과정 기록

세팅

Github 레포 생성

Github에서 private 레포 생성 후 start with codespace
근데 codespace가 ubuntu 환경이라서 포기.
부팅 시 인터넷망 로컬에 vscode와 git을 자동설치하는 스크립트를 작성해야겠다.

Git SSL 인증서 비활성화

git config --global http.sslVerify false

virtualenv, Pyside 패키지

$ mkdir Pyside_GUI
$ cd 
$ pip install virtualenv
$ python -m virtualenv venv
$ source venv/Scripts/activate
(venv) 
$ pip install Pyside6

QtDesigner

설치 위치

$ ./venv/Scripts/pyside6-designer.exe
GUI로 GUI 만들기 ㄱㄴ

UI 저장

text: Label
input: Line Edit

Form - View Python Code 최초 설정

venv/Lib/site-packages/PySide6에 bin 폴더가 없어서 나는 오류.
bin 폴더 추가,
Scripts 폴더에서 pyside6-uic.exe 찾아서 복사, uic.exe로 이름 변경.

Form - View Python Code

저장 후

저장 누르면 코드 저장 가능

ui 변경 시마다 터미널에 $ python -m uic.exe login.ui를 입력해 python 코드로 생성하는 CLI를 QtDesigner의 GUI로 대신 가능

디자인 툴

Envato, AdobeXD, Zepplin 세가지 필요

근데 Envato가 유료화됨;; figma 쓰든가, 그냥 BMon보고 만들든가

profile
진짜

0개의 댓글

관련 채용 정보