virtualenv
예를 들어 프로젝트의 하위 디렉토리에 사용자 정의 Python 설치를 작성할 수 있습니다. 따라서 각 프로젝트는 python
각각의 virtualenv 아래에 고유 한 (또는 여러 개의) 프로젝트를 가질 수 있습니다 . 일부 / 모든 가상 환경이 python
충돌없이 동일한 버전 (예 : 2.7.16)을 갖더라도 완벽하게 좋습니다. 개별적으로 존재하며 서로를 모릅니다. 당신이 그 어떤 사용하려는 경우 python
들, 당신은에 있습니다 activate
(귀하 일시적으로 수정하는 스크립트를 실행하여 PATH
그 VIRTUALENV의 수 있도록 bin/
디렉토리가 먼저). 이 시점에서 python
(또는 pip
기타 등)을 호출하면 virtualenv의 버전이 호출 될 때까지 deactivate
(을 복원합니다 PATH
) 호출합니다 .
pyenv
보다 넓은 규모로 작동합니다 virtualenv
-파이썬 설치 레지스터를 보유하고 있으며 새 설치를 설치하는 데 사용할 수 있으며 python
명령 을 사용할 때 실행할 Python 버전을 구성 할 수 있습니다 . 비슷하지만 실제 사용은 약간 다릅니다. 그것은 python
당신의 PATH
(영구적으로) shim 스크립트를 추가하고 어떤 "진짜" python
를 호출 할 것인지 결정 함으로써 작동합니다 . pyenv-virtualenv
플러그인 을 사용하여 virtualenv 파이썬 중 하나를 호출하도록 pyenv를 구성 할 수도 있습니다 . 설치 한 Python 버전 pyenv
은 해당 $(pyenv root)/versions/
디렉토리 로 이동하므로 (기본적으로 pyenv 루트는 ~ / .pyenv 임) virtualenv보다 '전역'입니다. 일반적으로 설치된 Python 버전을 복제 할 수 없습니다pyenv
적어도 그렇게하는 것이 주요 아이디어는 아닙니다.
특정 Python 버전으로 virtualenv를 만들려면 시스템 어딘가에 있든 없든 해당 버전을 PATH
가져 와서 새로 만든 virtualenv에 복제해야합니다. 물론 특정 버전을 얻는 한 가지 방법은을 통해 설치하는 것 pyenv
입니다. 일단 완료되면 개별 virtualenv는 다른 모듈 (또는 그 버전)을 설치하여 자유롭게 분기 할 수 있습니다.
한마디로 :
virtualenv
기존 설치에서 복제하여 로컬 독립적 인 Python 설치를 작성할 수 있습니다.
pyenv
여러 버전의 파이썬을 동시에 (시스템 전체 또는 로컬 사용자를 위해) 설치 한 다음 주어진 시간에 실행할 수많은 파이썬 (virtualv 또는 Anaconda가 만든 것을 포함하여)을 선택할 수 있습니다