Python 가상환경 - venv

python -m venv /path/to/venv
source /path/to/venv/bin/activate
pip freeze > requirements.txt

freeze 명령어는 현재 venv(혹은 파이썬 기본 인터프리터)에 설치되어 있는 라이브러리의 이름과 버전을 따로 추출하는 명령어

뒤에 `> requirements.txt`를 붙이면, 해당 결과를 requirements.txt에 저장


pip install -r requirements.txt

pip install에서 -r 옵션을 지정하면, 특정 파일로부터 의존성 정보를 읽어서 설치

가상환경 삭제
rm -rf ./venv



12.2. 가상 환경 만들기

가상 환경을 만들고 관리하는 데 사용되는 모듈은 venv 라고 합니다. venv 는 보통 여러분이 사용할 수 있는 최신 버전의 파이썬을 설치합니다. 시스템에 여러 버전의 파이썬이 있는 경우, python3 또는 원하는 버전을 실행하여 특정 파이썬 버전을 선택할 수 있습니다.

가상 환경을 만들려면, 원하는 디렉터리를 결정하고, venv 모듈을 스크립트로 실행하는데 디렉터리 경로를 명령행 인자로 전달합니다:

python3 -m venv tutorial-env

This will create the tutorial-env directory if it doesn’t exist, and also create directories inside it containing a copy of the Python interpreter and various supporting files.

가상 환경의 일반적인 디렉터리 위치는 .venv입니다. 이 이름은 디렉터리가 보통 셸에서 숨겨져 있도록 하므로, 디렉터리가 존재하는 이유를 설명하는 이름을 제공하면서도 방해받지 않습니다. 또한 일부 툴링(tooling)이 지원하는 .env 환경 변수 정의 파일과의 충돌을 방지합니다.

가상 환경을 만들었으면, 가상 환경을 활성화할 수 있습니다.

윈도우에서 이렇게 실행합니다:

tutorial-env\Scripts\activate.bat

Unix 또는 MacOS에서 이렇게 실행합니다:

source tutorial-env/bin/activate

(이 스크립트는 bash 셸을 위해 작성된 것으로, csh 또는 fish 셸을 사용하는 경우에는, 대신 activate.csh 와 activate.fish 스크립트를 사용해야 합니다.)

가상 환경을 활성화하면, 셸의 프롬프트가 변경되어 사용 중인 가상 환경을 보여주고, 환경을 수정하여 python 을 실행하면 특정 버전의 파이썬이 실행되도록 합니다. 예를 들어:

$ source ~/envs/tutorial-env/bin/activate
(tutorial-env) $ python
Python 3.5.1 (default, May  6 2016, 10:59:36)
  ...
>>> import sys
>>> sys.path
['', '/usr/local/lib/python35.zip', ...,
'~/envs/tutorial-env/lib/python3.5/site-packages']
>>>

12.3. pip로 패키지 관리하기

You can install, upgrade, and remove packages using a program called pip. By default pip will install packages from the Python Package Index, <https://pypi.org>. You can browse the Python Package Index by going to it in your web browser.

pip has a number of subcommands: 《install》, 《uninstall》, 《freeze》, etc. (Consult the 파이썬 모듈 설치하기 guide for complete documentation for pip.)

패키지 이름을 지정하여 최신 버전의 패키지를 설치할 수 있습니다:

(tutorial-env) $ python -m pip install novas
Collecting novas
  Downloading novas-3.1.1.3.tar.gz (136kB)
Installing collected packages: novas
  Running setup.py install for novas
Successfully installed novas-3.1.1.3

패키지 이름 뒤에 == 과 버전 번호를 붙여 특정 버전의 패키지를 설치할 수도 있습니다:

(tutorial-env) $ python -m pip install requests==2.6.0
Collecting requests==2.6.0
  Using cached requests-2.6.0-py2.py3-none-any.whl
Installing collected packages: requests
Successfully installed requests-2.6.0

이 명령을 다시 실행하면, pip 는 요청한 버전이 이미 설치되어 있음을 알리고, 아무것도 하지 않습니다. 다른 버전 번호를 지정해서 그 버전을 얻거나 pip install --upgrade 를 실행하여 패키지를 최신 버전으로 업그레이드할 수 있습니다:

(tutorial-env) $ python -m pip install --upgrade requests
Collecting requests
Installing collected packages: requests
  Found existing installation: requests 2.6.0
    Uninstalling requests-2.6.0:
      Successfully uninstalled requests-2.6.0
Successfully installed requests-2.7.0

pip uninstall 다음에 하나 이상의 패키지 이름이 오면 가상 환경에서 패키지가 제거됩니다.

pip show 는 특정 패키지에 대한 정보를 표시합니다:

(tutorial-env) $ pip show requests
---
Metadata-Version: 2.0
Name: requests
Version: 2.7.0
Summary: Python HTTP for Humans.
Home-page: http://python-requests.org
Author: Kenneth Reitz
Author-email: [email protected]
License: Apache 2.0
Location: /Users/akuchling/envs/tutorial-env/lib/python3.4/site-packages
Requires:

pip list 는 가상 환경에 설치된 모든 패키지를 표시합니다:

(tutorial-env) $ pip list
novas (3.1.1.3)
numpy (1.9.2)
pip (7.0.3)
requests (2.7.0)
setuptools (16.0)

pip freeze 는 설치된 패키지의 비슷한 목록을 만들지만, pip install 이 기대하는 형식을 사용합니다. 일반적인 규칙은 이 목록을 requirements.txt 파일에 넣는 것입니다:

(tutorial-env) $ pip freeze > requirements.txt
(tutorial-env) $ cat requirements.txt
novas==3.1.1.3
numpy==1.9.2
requests==2.7.0

requirements.txt 는 버전 제어에 커밋되어 응용 프로그램 일부로 제공될 수 있습니다. 사용자는 install -r 로 모든 필요한 패키지를 설치할 수 있습니다:

(tutorial-env) $ python -m pip install -r requirements.txt
Collecting novas==3.1.1.3 (from -r requirements.txt (line 1))
  ...
Collecting numpy==1.9.2 (from -r requirements.txt (line 2))
  ...
Collecting requests==2.7.0 (from -r requirements.txt (line 3))
  ...
Installing collected packages: novas, numpy, requests
  Running setup.py install for novas
Successfully installed novas-3.1.1.3 numpy-1.9.2 requests-2.7.0

 

0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기

파이썬 Python

번호 제목 글쓴이 날짜 조회수
16 비큐냐(Vicuna)와 text-generation-webu 관리자 04-17 1,290
15 Pyjosa - 파이썬 한글 조사 처리 모듈 관리자 03-11 1,262
14 Python 에서 한글 조사 을/를, 이/가, 은/는, 와/과 출력하기 관리자 06-10 2,899
13 flask multifile upload 관리자 05-25 1,359
12 Fast api로 머신러닝 기반 웹사이트 만들고 배포하기 관리자 05-16 2,164
11 CentOS에서 Python 버전 변경 관리자 05-04 1,162
10 fastapi 관리자 05-04 1,214
9 PyQt5 프린트 할 위젯 선택하고 프린트 하는 예제 관리자 02-22 1,284
8 Python 가상환경 - venv 관리자 02-15 1,040
7 MacOS에서 Pyenv PYENV_VIRTUALENV_DISABLE_PROMPT 문구 제거 하기 관리자 02-05 951
6 Mac VSCODE에서 가상환경내 Python으로 Python Interpreter 설정 관리자 02-05 1,612
5 NAVER API를 사용해서 크롤링하기 - 2 관리자 02-05 2,611
4 NAVER API를 사용해서 크롤링하기 - 1 관리자 02-05 1,033
3 selenium을 사용한 데이터 크롤링하기 관리자 02-05 973
2 Using both Python 2.x & 3.x 관리자 02-05 871
1 MacOS] Python(pyenv) 설치 및 버전관리 관리자 02-05 900