pyenv, virtualenv, anaconda의 차이점은 무엇입니까?
저는 파이썬을 배우고 있는 루비 프로그래머입니다.pyenv는 rbenv의 복사앤페이스트와 비슷하기 때문에 잘 알고 있습니다.Pyenv를 사용하면 시스템에 여러 버전의 파이썬을 설치할 수 있으며 시스템의 민감한 부분을 건드리지 않고 파이썬을 분리할 수 있습니다.
모든 Python 설치에는 pip 패키지가 포함되어 있다고 생각합니다.아직도 이해가 안 가는 건 이 가상환경과 아나콘다를 사용할 것을 제안하는 좋은 파이썬 립이 많다는 거예요.pyenv용 virtualenv 플러그인도 찾을 수 있습니다.
이 두 가지 pyenv와 virtualenv의 용도를 혼동하고 있습니다.pyenv 내부에는 virtualenv 플러그인이 있습니다.
질문은 다음과 같습니다.
- pyenv와 virtualenv의 차이점은 무엇입니까?
- pyenv와 virtualenv 양쪽에서 pip 명령어를 사용하는 것에 차이가 있습니까?
- 이 pyenv virutalenv는 무엇을 하나요?
예를 들어 설명해 주시면 감사하겠습니다.
편집: 여기서도 언급할 가치가 있습니다.또, 이 토픽과 관련된 공통점과 차이점도 있습니다.
pip: Python 패키지 매니저.
- 수도
pip
루비에 상당하는 비단뱀으로gem
pip
비단뱀- Python은 homebrew를 사용하여 설치할 수 있습니다. 그러면 pip이 자동으로 설치됩니다.
brew install python
- OSX의 최종 버전에는 기본적으로 pip이 포함되어 있지 않습니다.python python python을 pip으로 만들 수 .
sudo easy_install pip
- PyPI를 사용하여 python 패키지를 검색하여 게시할 수 있습니다. Python 패키지 인덱스
- "" 은 "ruby txt"와 합니다.
gemfile
- 하려면 , 「」를 참조해 주세요.
pip freeze > requirements.txt
- 이 시점에서 시스템에 python이 설치되어 요건을 작성했습니다.시스템에 설치된 모든 python 패키지의 개요를 나타내는 txt 파일.
pyenv: Python 버전 매니저
- 문서: pyenv에서 여러 버전의 Python을 쉽게 전환할 수 있습니다. 심플하고 눈에 띄지 않으며 UNIX의 전통인 단일 목적 툴에 따라 한 가지 기능을 수행합니다. 이 프로젝트는 rbenv와 ruby-build에서 분기되어 Python용으로 수정되었습니다.
- 많은 사람들이 python3를 사용하는 것을 주저한다.
- 다른 버전의 python을 사용해야 하는 경우
pyenv
를 사용하면 쉽게 관리할 수 있습니다.
virtualenv: Python Environment Manager.
- 문서에서:해결되는 기본적인 문제는 의존관계와 버전 중 하나이며 간접적인 권한입니다. LibFoo 버전1이 필요한 어플리케이션이 있지만 다른 어플리케이션에는 버전2가 필요합니다. 이 두 애플리케이션을 모두 어떻게 사용할 수 있습니까? 모든 것을 /usr/lib/python 2.7/site-packages(또는 플랫폼의 표준 위치에 관계없이)에 인스톨 하면, 의도치 않게 업그레이드되어서는 안 되는 애플리케이션이 업그레이드 되는 상황이 되기 쉽습니다.
- 작성 방법
virtualenv
, 단순히 호출합니다.virtualenv ENV
,어디에ENV
는 새로운 가상 환경을 배치하는 디렉토리입니다. - 를 초기화하려면
virtualenv
, 당신은 할 필요가 있다.source ENV/bin/activate
사용을 중지하려면 전화만 하면 됩니다.deactivate
. - 를 활성화하면
virtualenv
를 실행하여 워크스페이스의 패키지 요건을 모두 설치할 수 있습니다.pip install -r
프로젝트와 대조하여requirements.txt
파일.
Anaconda: 패키지 매니저 + 환경 매니저 + 기타 과학 라이브러리.
- 문서에서:Anaconda 4.2.0에는 Python(2.7.12, 3.4.5 및/또는 3.5.2)의 간편한 설치와 NumPy, Panda, SciPy, Matplotlib 및 IPython을 포함한 100개 이상의 사전 구축 및 테스트된 과학 및 분석 Python 패키지의 업데이트가 포함되어 있으며, 간단한 방법으로 620개 이상의 패키지를 사용할 수 있습니다.
- 웹 개발자로서 아나콘다를 사용해 본 적이 없습니다.모든 패키지를 포함하여 최대 3GB입니다.
- 슬림형이다
miniconda
version을 사용하는 것보다 더 간단한 옵션이 될 수 있습니다.pip
+virtualenv
개인적으로 사용해 본 적은 없지만요. - 하는 동안에
conda
에서는 패키지를 설치할 수 있습니다.이러한 패키지는 PyPI 패키지와는 별개이기 때문에, 인스톨 하는 패키지의 종류에 따라서는, 추가의 pip 를 사용할 필요가 있는 경우가 있습니다.
다음 항목도 참조하십시오.
- conda vs pip vs virtualenv (anaconda 문서 섹션)
- pip과 conda의 차이(스택오버플로우)
- virtualenv와 pyenv의 관계(stackoverflow)
간단한 비유:
- pyenv ~rbenv
- pip ~ 번들러
- virtual env - rvm 단위의 gemset.이것은 보석 세트 없이 번들러에 의해 직접 관리할 수 있습니다.
저는 python3를 사용하기 때문에 venv라는 이름의 python3 내장 가상 환경을 선호합니다. venv는 간단하고 사용하기 쉽습니다.공식 문서를 읽어보시길 권합니다.그 문서는 짧고 간결하다.
루비에서는 번들러가 처리해 주기 때문에 가상 환경이 실제로 필요하지 않습니다.가상 환경과 번들러 모두 훌륭하지만 동일한 문제를 해결하기 위한 솔루션이 다릅니다.
간단한 설명: https://docs.conda.io/projects/conda/en/latest/commands.html#conda-vs-pip-vs-virtualenv-commands
이전에 pip 및 virtualenv를 사용한 적이 있는 경우 conda를 사용하여 동일한 작업을 모두 수행할 수 있습니다.
- Pip은 패키지 매니저입니다.
- virtualenv는 환경 관리자입니다.
- Conda는 둘 다입니다.
언급URL : https://stackoverflow.com/questions/38217545/what-is-the-difference-between-pyenv-virtualenv-anaconda
'source' 카테고리의 다른 글
URL에서 JSON 개체 가져오기 (0) | 2022.12.08 |
---|---|
스프링 데이터 저장소는 실제로 어떻게 구현됩니까? (0) | 2022.12.08 |
사용자 역할에 따라 1개의 루트에 대해 다른 뷰를 로드하는 방법이 있습니까? (0) | 2022.12.08 |
스프링 부트 - 데이터베이스에 엔티티를 하나만 생성할 수 없습니다. (0) | 2022.12.08 |
하나의 명령을 사용하여 여러 DB에 부여 (0) | 2022.12.08 |