virtualenv와 pyenv의 관계는 무엇입니까?
최근 워크플로우에서 virtualenv와 virtualenvwrapper를 사용하는 방법을 배웠습니다만, pyenv가 무엇인지, pyenv가 virtualenv와 어떻게 다른지 또는 유사한지 이해할 수 없습니다.pyenv는 virtualenv를 대체하는 것이 좋습니까, 아니면 무료 툴입니까?후자의 경우 어떤 점이 다르고 두 가지(및 해당하는 경우 virtualenvwrapper)가 어떻게 연동됩니까?
Pyenv와 virtualenv는 서로 다른 방식으로 작동하는 매우 다른 도구입니다.
Pyenv는 python, pip 등에 대한 호출을 대행 수신하여 시스템 python 툴 체인 중 하나로 유도하는 bash 확장입니다.따라서 선택한 python 버전에 설치한 모든 라이브러리를 항상 사용할 수 있습니다. 따라서 python의 다른 버전을 전환해야 하는 사용자에게 좋습니다.
Virtual Env는 순수 python이기 때문에 어디에서나 동작합니다.가상 Env는 특정 버전의 python과 pip의 복사본을 활성화 환경에 로컬로 만듭니다.이 버전에는 현재 시스템 툴 체인에 대한 링크가 포함되어 있는지 여부에 관계없이 해당 환경에 라이브러리의 알려진 서브셋만 설치할 수 있습니다.따라서 어떤 라이브러리가 어떤 버전에서 사용되는지 정확히 알고 있기 때문에 테스트와 도입에 훨씬 효과적입니다.또한 글로벌 변경은 모듈에 영향을 주지 않습니다.
venv python > 3.3
Python 3.3 이후로는 venv라고 하는 VirtualEnv의 빌트인 구현이 있습니다(일부 설치에서는 pyvenv라고 불리는 래퍼는 Python 3.6에서는 권장되지 않습니다).이것을 사용하는 것이 바람직합니다.래퍼에 발생할 수 있는 문제를 피하기 위해 를 사용하여 직접 사용하는 것이 좋습니다./path/to/python3 -m venv desired/env/path또는 뛰어난 기능을 사용하여pypython 셀렉터(윈도우의 경우)py -3 -m venv desired/env/path. 지정한 디렉토리가 생성됩니다.desired/env/path적절히 설정해 입력합니다.일반적으로 Virtual Env를 사용하는 것과 매우 유사합니다.
기타 도구
상기 중 하나 이상을 사용하는 데 도움이 될 수 있으므로 언급할 가치가 있고 고려할 필요가 있는 툴이 많이 있습니다.
- Virtual Env Wrapper Virtual Env - Cross Platform의 사용 및 관리를 관리 및 단순화합니다.
- pyenv-virtualenv는 pyenv-installer에 의해 설치되며 VirtualEnv에 대한 관리 및 인터페이스용 PyEnv 도구를 제공합니다.이를 통해 여러 버전의 python을 포함하는 기본 설치를 할 수 있으며 각각 Linux/OS-X에 격리된 환경을 만들 수 있습니다.요한 비사기 제안
- 그래서 교육이 이무기의 너의 견해가 설치되어 있지 않는다 플랫폼-참고 당신 등 Windows가 설치한를 건설하는 Windows(virtual-)machine이 필요한 것이 아니라면 크로스 컴파일러지만, 심지어 어디에 너는 확신하게 될 수 있는 편리할 달릴 수 있PyInstaller고 묶다 당신의 파이톤 코드, 아마도 개발한&VirtualEnv에 따라 시험할 수 있다. 그거python은 설치되지만 python과 모든 라이브러리가 코드와 호환되는지 확신할 수 없습니다.
쇼트 버전:
virtualenv기존 Python 설치에서 복제하여 로컬(디렉토리 단위) 독립적인 Python 설치를 생성할 수 있습니다.pyenv를 사용하면 서로 다른 버전의 Python을 설치(소스로부터 빌드)할 수 있습니다.그 후 virtualenv를 사용하여 복제하거나 pyenv를 사용하여 언제든지 실행할 Python을 선택할 수 있습니다.
긴 버전:
Virtualenv를 사용하면 프로젝트의 하위 디렉터리에 사용자 정의 Python 설치를 만들 수 있습니다.이 작업은 시스템 어딘가에 설치된 기존 Python에서 복제함으로써 수행됩니다(일부 파일은 복사되고 일부는 공간을 절약하기 위해 재사용/공유됩니다).따라서 각 프로젝트에는 독자적인 것이 있습니다.python(또는 여러 개까지) 각각의 가상 환경 아래에 있습니다.일부/모든 가상 시스템에서 동일한 버전의 가상 시스템을 사용해도 문제 없습니다.python(예: 3.8.5) 충돌 없음 - 그들은 서로에 대해 알지 못하고 따로 산다.그 중 하나를 사용하고 싶은 경우python셸에서 s는activate(일시적으로 수정되는 스크립트를 실행함으로써)PATH가상환경이 가상환경이bin/디렉토리가 우선입니다).그 시점부터, 전화는python(또는pipetc)는 사용자가 가상환경 버전을 호출할 때까지deactivate(이것에 의해, Restore(Restore)PATH절대 경로를 사용하여 virtualenv Python을 호출할 수도 있습니다. 예를 들어 스크립트에서 Python을 호출할 때 유용합니다.
Pyenv는 virtualenv보다 더 넓은 규모로 작동합니다.Python의 임의 버전을 설치(소스로부터 빌드)하는 데 사용됩니다(사용 가능한 버전의 레지스터를 보유).디폴트에서는, 이러한 모든 것은, 다음의 링크에 나란히 인스톨 됩니다.~/.pyenvvirtualenv보다 더 글로벌합니다.그런 다음 Python을 사용할 때 실행할 버전을 구성할 수 있습니다.python명령어(virtualenv 없음).이것은, 글로벌 레벨로 실행할 수도 있고, 디렉토리 마다 실행할 수도 있습니다(디렉토리 마다,.python-version파일)을 작성합니다.pyenv의 심을 준비하면 됩니다.python스크립트 작성PATH(따라서 virtualenv와 달리) 어느 것이 실제인지 결정합니다.python호출할 수 있습니다.가상 환경 중 하나를 호출하도록 pyenv를 구성할 수도 있습니다(virtualenv phythons를 사용하여).pyenv-virtualenv플러그 인)Python 버전을 복제하여(다른 이름을 지정하여) 분리할 수도 있습니다.
pyenv를 사용하는 것은 Python을 설치하는 편리한 방법이 될 수 있습니다.
언급URL : https://stackoverflow.com/questions/29950300/what-is-the-relationship-between-virtualenv-and-pyenv
'source' 카테고리의 다른 글
| 컬렉션여러 필드로 정렬하다 (0) | 2022.10.22 |
|---|---|
| 어떻게 개발 LAMP 서버에서 여러 버전의 PHP 5.x를 실행할 수 있습니까? (0) | 2022.10.22 |
| JavaScript에서 문자열을 변수 이름으로 변환 (0) | 2022.10.22 |
| vuefity 변환 v-text-field 레이블 (0) | 2022.10.22 |
| Vue.js 2의 여러 필드를 검색하는 방법 (0) | 2022.10.22 |