Python 가상 환경 - pyenv virtualenv 사용 안내
참고:http://vincentsfootprint.com/post/venv_virtualenv_pipenv_difference https://www.xncoding.com/2016/05/09/python/pyenv.html
virtualenv
독립 된 python libraries 환경 을 만 드 는 데 매우 유행 하 는 도구 입 니 다.나 는 당신 이 그것 을 배우 고 이해 하 는 것 을 강력 히 추천 합 니 다. 왜냐하면 그 는 매우 실 용적 이 고 응용 이 광범 위 하기 때문에 많은 사람들 이 그것 으로 python 개발 환경 을 구축 합 니 다.뒤의 다른 도 구 는 주로 virtualenv 와 비교 하여 차 이 를 설명 한다.
virtualenv 는 실행 가능 한 열 과 라 이브 러 리 파일 을 설치 한 다음 환경 변수 PATH 에서 실행 가능 한 파일 (bin 디 렉 터 리) 을 수정 합 니 다.환경 변수 PATH 앞 에 env / bin / 을 두 는 등 디 렉 터 리 의 우선 순 위 를 설정 합 니 다. 그리고 실행 가능 한 python 이나 python 3 파일 을 env / bin / 디 렉 터 리 에 두 고 python 이 실 행 될 때 경로 와 가 까 운 상대 디 렉 터 리 위 치 를 우선 검색 합 니 다. 그러면 virtualenv 가 만 든 libraries 디 렉 터 리 를 우선 사용 하 는 목적 을 달성 하고 activated 를 실행 합 니 다.virtualenv 환경 에 들 어가 면 pip 를 통 해 libraries 를 env / 환경 에 설치 할 수 있 습 니 다.
pyenv
python 버 전 을 관리 합 니 다. 독립 된 python 버 전 환경 을 만 드 는 데 사 용 됩 니 다.
pyenv 는 python 버 전 관리 입 니 다. 환경 변 수 를 수정 하 는 방식 으로 이 루어 집 니 다. 홈 페이지 설명 에 서 는 PATH 맨 앞 에 shims 를 삽입 하여 사용 할 python 버 전 을 결정 하고 명령 을 올 바른 python 프로그램 에 전달 합 니 다.
예 를 들 어 python 2.6, 2.7, 3.3, 3.4, 3.5 버 전에 서 코드 가 실행 되 는 지 각각 테스트 하려 면 pyenv 와 같은 도구 가 필요 합 니 다. pyenv 환경 을 활성화 하면 ~ / pyenv / shims 의 값 을 환경 변수 PATH 앞 에 놓 고 기본 python, pip 실행 가능 한 파일 디 렉 터 리 를 덮어 씁 니 다. c 가 아 닙 니 다.opy 실행 가능 한 파일 입 니 다. 일부 스 크 립 트 코드 를 통 해 PYEnV VERSION 이나. python - version 파일 을 기반 으로 python 프로그램 을 실행 할 수 있 는 파일 을 결정 합 니 다. 또한 pyenv install 을 통 해 여러 python 버 전 을 설치 할 수도 있 습 니 다.
pyenv-virtualenv
pyenv 작성 자 는 pyenv 를 위 한 플러그 인 입 니 다. 이 플러그 인 을 통 해 pyenv 와 virtualenv 를 편리 하 게 사용 할 수 있 습 니 다. 또한 python 3.3 이상 의 버 전 을 사용한다 면 virtualenv 대신 venv 를 사용 해 보 겠 습 니 다. 물론 pyenv 와 virtualenv 를 동시에 사용 할 수도 있 습 니 다. pyenv - virtualenv 를 직접 사용 하지 않 고 설정 할 수도 있 습 니 다.
virtualenvwrapper
virtualenv 의 일부 열 확장 입 니 다. mkvirtualenv, lssitepackages 등 명령 행 도 구 를 제공 합 니 다. 특히 워 크 온 명령 행 도 구 는 여러 개의 virtualenv 디 렉 터 리 를 사용 해 야 할 때 이 도 구 를 사용 하 는 것 이 매우 편리 합 니 다.
pyenv-virtualenvwrapper
pyenv 작성 자가 pyenv 에 쓴 또 다른 플러그 인 은 virtualenvwrapper 를 pyenv 로 쉽게 통합 할 수 있 습 니 다.
pipenv
requests 라 이브 러 리 의 작성 자 Kenneth Reitz 가 작성 한 도 구 는 Pipfile, pip, virtualenv 를 같은 명령 행 도구 에 통합 하 는 것 이 목표 입 니 다. 실제 사용 중인 nodejs 와 같은 의존 패키지 관리 도구 npm 입 니 다.
1. pip 설치
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
2. pyenv 설치
참고:https://github.com/pyenv/pyenv/blob/master/README.md#installation
2.1 설치 의존:
yum -y install wget gcc epel-release git
yum -y install bzip2-devel bzip2-libs
yum -y install openssl openssl-devel openssl-static
yum -y install sqlite-devel
yum -y install readline readline-devel readline-static
2.2 pyenv 설치:
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
:
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init -)"
fi' >> ~/.bash_profile
shell, :
exec "$SHELL"
pyenv pyenv :
pyenv --help
:
pyenv versions # python
pyenv version # python
pyenv install -v 3.5.3 # python
pyenv uninstall 2.7.13 # python
pyenv rehash # ( :~/.pyenv/versions/bin/) shims, Python ( pip) , )
2.3 $PYEnV ROOT / versions 경로 로 Python 버 전 을 설치 합 니 다.
pyenv install -l #
pyenv install -v 3.6.1
pyenv rehash
1:
bash: pyenv:
:
source ~/.bash_profile
2:
:WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib?
:
...
:
pyenv uninstall 3.6.1
pyenv , * :
[root@usceth-eth-1 AAA]# pyenv versions
* system (set by /root/.pyenv/version)
3.6.1
2.4 환경 전환
python , ~/.pyenv/versions/
pyenv virtualenv 3.6.1 env361
:
pyenv activate env361
:
pyenv deactivate
:
$ rm -rf ~/.pyenv/versions/env361/
2.5 버 전 전환
pyenv global 3.5.3 # Python , ~/.pyenv/version
pyenv local 2.7.13 # , .python-version 。 Python global 。
pyenv shell 2.7.13 # shell Python , shell PYENV_VERSION
: shell > local > global
2.6 pyenv 마 운 트 해제
pyenv , ~/.bash_profile pyenv init 。
pyenv, 1 , pyenv : rm -rf $(pyenv root)
3. 플러그 인 pyenv - virtualenv
참고:https://github.com/pyenv/pyenv-virtualenv
pyenv 를 사용 하여 다 중 버 전의 python 명령 을 관리 하고 pyenv - virtualenv 플러그 인 을 사용 하여 다 중 버 전의 python 패키지 환경 을 관리 합 니 다.
3.1 설치:
git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
shell :
exec "$SHELL"
eval "$(pyenv virtualenv-init -)" shell ( ~/.bash_profile), pyenv-virtualenv / .python-version / 。
3.2 상용 명령:
: pyenv virtualenv 2.7.13 virtual-env-2.7.13, python 。 $(pyenv root)/versions/my-virtual-env-2.7.13 Python 2.7.13 。
: pyenv virtualenvs, virtualenv 2 , , * 。
: pyenv activate virtual-env-2.7.13
: pyenv deactivate
: pyenv uninstall virtual-env-2.7.13
3.3 장면 사용 절차:
# Python
pyenv versions
[root@tingyun_server opt]# pyenv virtualenvs
3.6.1/envs/venv36 (created from /root/.pyenv/versions/3.6.1)
venv36 (created from /root/.pyenv/versions/3.6.1)
#
pyenv virtualenv 3.6.1 virtual-env-3.6.1
# /opt/demo, local python
pyenv local virtual-env-3.6.1
#
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.