misc tip

Python Virtual Environment

shadefly 2025. 5. 9. 15:12

인간은 망각의 동물이며 특히 나는 더욱 그러하다..

 

파이참이나 기타 IDE를 사용하여 파이썬 가상환경을 사용해 개발을 하는데...실제 터미널상에서 작업할 때도 가상 환경을 사용하면 좋다. (시스템을 망칠 수 있기 때문..)

 

가상환경에서 빌드해 보자.
PATH 를 추가해준후 

VENV=/home/icarus/.local/bin
PATH=$PATH:$VENV


인스톨을 진행함.

pip install virtualenv


버츄얼 환경을 만들기
python2 

virtualenv env_name


python3

virtualenv -p python3 env_name

또는 기본 설치된 패키지 포함하여 환경 만들 때는 아래 명령어 사용

virtualenv --system-site-packages -p python3 env_name


activate/deactivate

#실행
.\Scripts\activate
#종료
$deactivate


현재 설치된 환경에서 패키지 리스트 출력하기

pip list
pip freeze > requirements.txt


#requirement list 대로 설치하기

pip install -r requirements.txt


소스에서 필요한 패키지 인스톨 리스트 생성하기

pip install pipreqs
pipreqs /path/to/project

#ex)
pipreqs .\jira
INFO: Successfully saved requirements file in .\jira\requirements.txt


$ virtualenv venv
 Running virtualenv with interpreter /usr/bin/python New python executable in /home/don/venv/bin/python Installing setuptools, pip, wheel...done.


%Trouble shooting

=> error ModuleNotFoundError: No module named 'gdbm'
sudo apt-get install python3.8-gdbm
python --version
virtualenv venv
pip install virtualenv
sudo pip install virtualenv

$usuage
virtualenv venv
source venv/bin/activate
pip list
pip (8.1.2)

locale.Error: unsupported locale setting
$ export LC_ALL="en_US.UTF-8"
$ export LC_CTYPE="en_US.UTF-8"
$ sudo dpkg-reconfigure locales



가상환경에서 pip 패키지 관리
virtualenv를 통해서 현재 가상환경에 설치된 pip 패키지들을 따로 관리할 수 있다. 먼저 현재 가상환경에 설치된 pip 패키지들의 보기위해서는 현재 가상환경이 실행되고 있는 상태에서 다음의 명령을 수행하면 된다.

>>> pip freeze
apturl==0.5.2
beautifulsoup4==4.4.1
blinker==1.3
Brlapi==0.6.4
... (생략)



이 목록을 따로 뽑아내서 다른 가상환경으로 옮길수도 있다. 일단 목록을 뽑아내서 txt 파일로 저장하는 방법은 다음과 같다.

>>> pip freeze > requirements.txt


이렇게하면 현재 가상환경의 pip 패키지 목록이 requirements.txt로 저장이 된다.

또한 현재의 가상환경에 방금 뽑아낸 패키지 목록을 일괄적으로 설치하는 방법은 다음과 같다.

>>> pip install -r requirements.txt


이렇게 해주면 requirements.txt에 정리된 패키지 목록이 일괄적으로 현재의 가상환경에 설치가 된다. 이러한 방식을 통해서 가상환경의 pip 패키지들을 손쉽게 관리할 수 있다.

'misc tip' 카테고리의 다른 글

텔레그램 봇으로 실시간 주식/환율 캔들 차트 받아오기  (2) 2025.05.22
sh 데스크탑 아이콘 만들기  (1) 2025.05.12
Dearpygui  (0) 2025.05.08
Ubuntu server 외부 접속  (0) 2025.05.08
Config git server  (0) 2025.05.08