PyEnv&Pipenv


만약 내가 경험에서 무엇을 배웠다면, 그것은 일을 하는 데 거의 항상 간단한 방법이 있다는 것이다.현재 수백만 명의 사람들이 당신과 같은 방식으로 발전 문제를 처리하고 있기 때문에, 누군가가 이미 문제를 간소화하는 방법에 어려움을 겪었을 가능성이 높다.
그 중 간단한 일은 파이톤 개발 환경을 구축하는 것이다.
파이썬 개발자라고 말 안 할 거야.나는 이를 특정한 사례 서브집합에만 사용하고 주로 대량의 데이터를 분석하여 기계 학습 등을 해야 한다.
따라서 직관적으로 말하면 제 개발 환경을 설정할 때 가능한 한 간소화하고 다른 프로그래밍 언어와 프레임워크, 예를 들어 루비, Elixir, Node 등에서 왔습니다. 거의 기본적인 상황에서 버전 언어와 라이브러리 사이에 뚜렷한 분리가 존재하기 때문에 파이톤이 다르지 않기를 바랍니다.
틀렸어!😭
파이썬의 설정이 매우 혼란스럽습니다.Python2가 여전히 존재합니다. Python3과 호환되지 않습니다.동시에 파이톤3은 너무 많은 설정 방법을 가지고 있어서 매우 혼란스럽다.
잘못된 설정 방식을 선택하고 시스템에 너무 많은 내용을 연결하면 프로젝트 간의 호환성이 떨어지고 모든 다른 종류의 문제가 발생할 수 있습니다.
그러나 내가 보기에, 내가 익숙하게 알고 있는 것과 가장 비슷한 설정이 있는 것 같다.이것은 PyenvPipenv을 사용하여 각각 항목을 설정하고 각각의 파이톤과 라이브러리 버전에서 분리합니다.
우리 계속 깊이 연구합시다.

피에른

Pyenv은 Python 버전 관리자 도구입니다.이는 유행하는 루비 버전 관리자 rbenvruby-build을 기반으로 합니다.
그것의 기능은 매우 간단하다.이것은 사용자 환경에서 서로 다른 버전의 Python을 사용할 수 있도록 합니다. 이 버전들은 서로 의존하지 않고 시스템에 의존하지 않습니다.
비슷한 일을 할 수 있는 다른 도구도 많지만, Pyenv는 모든 도구 중 가장 감염력이 없는 것으로 나타났다.파이썬 자체가 필요하지 않습니다. 셸 스크립트로 구축되어 있고 셸에 불러올 필요가 없습니다.
기억해야 할 또 다른 일은 시스템이 파이톤을 실행하기를 원하지 않는다는 것이다.그래서 당신이 그것을 멀리할수록 격리된 환경을 사용하는 것이 좋습니다.

장치


Pyenv를 설치하는 방법에는 여러 가지가 있습니다.
MacOS 또는 Linux를 사용하는 경우 지금까지 가장 간단한 방법은 자체 제작입니다.
❯ brew install pyenv
그 다음에 bash가 시작할 때pyenv를 시작해야 합니다.이를 위해, 사용 중인 셸에 다음 init 스크립트를 추가할 수 있습니다.
zsh의 경우 .zshrc에 추가해야 하지만, 당신에게는 .bash_profile 또는 .bashrc일 수 있습니다.
if command -v pyenv >/dev/null 2>&1; then
  eval "$(pyenv init -)"
fi
이것은 Pyenv가 경로를 조작할 수 있도록 하고 Pyenv 환경에서 자신에게 우선순위를 부여합니다.
완성!
자세한 설치 지침은 Github page을 참조하십시오.

Pyenv 사용


다음은 새 버전의 파이톤을 설치하는 것입니다.필요한 만큼 소프트웨어를 설치할 수 있으며 릴리스별로 설치할 수도 있습니다.
사용 가능한 버전을 보려면
❯ pyenv install --list
이것은 사용 가능한 버전의 전체 목록을 제공합니다.
파이썬 3.9.1을 설치하도록 하겠습니다.
❯ pyenv install 3.9.1
이렇게, 당신은 Python 3.9.1을 사용하고 있습니다, 예!
마지막 단계는 시스템에서 사용하고자 하는 전역 버전을 알려 줍니다.너는 반드시 이렇게 해야만 하는 것은 아니지만, 이것은 일을 더욱 쉽게 할 것이다
❯ pyenv global 3.9.1
축하합니다. 시스템에 파이톤이 있습니다.🙂

파팽


Pipenv의 작업 수준은 Pyenv보다 낮아서 함께 작업할 수 있습니다.
Pipenv는 또한 Bundler, Npm, Thread 등의 영감을 받아 프로젝트 환경을 깨끗하게 유지하기 위한 도구입니다.
이것은 직감에 어긋날 수 있습니다. 당신은 전 세계에 모든 물건을 설치하고 싶을 수도 있습니다. 이렇게 하면 당신이 사용하는 모든 항목을 사용할 수 있지만 사용하지 마세요!이것은 다른 곳에서 사용할 때 사용할 수 없는 라이브러리에 의존할 수 있는 간단한 방법이다.
또한 Pipenv는 협업을 용이하게 합니다.섭외자들은 모두 PIP 파일의 환경 설정을 사용하는데 이것은 모든 사람이 같은 페이지에 있다는 것을 보장한다.
그렇다면 피프브는 뭘 하는 걸까?
이것은 PipfilePipfile.lock을 사용하여 프로젝트에 사용된 의존항을 스냅샷으로 정렬합니다.그것은 당신의 일이 다른 프로젝트 환경으로 미끄러질까 봐 걱정하지 않고 폐쇄적인 환경에서 일할 수 있도록 허락한다.

장치


Pyenv를 실행하고 선택한 Python 버전을 사용하면 실행하십시오
❯ pip install -U pipenv
Pyenv는 사용자가 올바른 환경에서 일할 수 있도록 pip 명령을 납치합니다.
이후 pipenv을 사용할 수 있습니다.
이 라이브러리는 프로젝트나 프로젝트 폴더/상하문에서 사용할 것입니다. 따라서 선택한 프로젝트 디렉터리로 계속 이동하여pipenv를 초기화하십시오
❯ pipenv install
이것은 의존항을 포함하는 Pipfile과 이러한 의존항을 포함하는 버전과 의존항을 포함하는 Pipfile.lock을 만들 것입니다.
전통적으로 파이톤 프로젝트에서 의존 관계를 관리하는 또 다른 방법은 requirements.txt 파일을 사용하는 것이다.현재 프로젝트에 하나를 설치했다면, pipenv는 이전 단계에서 Pipfile으로 전환하고, 기존 의존항을 이전하려고 시도합니다.

Pipenv 사용


이제부터 의존 관계를 관리하기 위해 pipenv를 사용할 수 있습니다.
새 것을 추가하려면pipenv가 무엇을 설치하고 싶은지 알 수 있습니다. PipfilePipfile.lock을 업데이트합니다.
# Installing Jupyter notebooks
❯ pipenv install notebook
이렇게 새로운 의존항이 PipfilePipfile.lock에 추가되었습니다.
현재 pipenv에서 만든 환경에 들어가려면
❯ pipenv shell
Launching subshell in virtual environment…
pipenv 환경에 설치된 의존항을 사용하여 현재 bash를 불러옵니다.이 셸에서 실행되는 각 명령은 Pipenv 컨텍스트에서 실행됩니다.잠그다
셸을 종료하려면 exit을 입력합니다.

결론


Pyenv와 Pipenv에 대해 알아야 할 것이 너무 많기 때문에 문서를 따르고 직접 시도하는 것이 좋습니다. 그러나 이것은 당신에게 수없이 많은 시간의 설정 시간을 절약하고 프로젝트 의존 관계에 무슨 일이 일어났는지, 그리고 왜 어떤 프로젝트가 다른 관련되지 않은 프로젝트를 업데이트한 후에 실패할지 알 수 있도록 보장합니다.
파이톤이 제공하는 다양한 환경 설정과 차이에 대해 더 알고 싶다면, 이 점을 잘 설명할 수 있는 detailed StackOverflow의 게시물이 있다.비록 그들의 건의는 virtualenv+pip을 사용하라는 것이지만, 요약할 만한 다른 옵션을 사용하면 당신이 원하는 것을 현명하게 결정할 수 있다.
더 많은 주제는 my를 보거나 rarias.dev을 방문하십시오.
즐거운 코딩!

좋은 웹페이지 즐겨찾기