Pipfile과 Pipfile.lock의 사용법을 설명 해주세요.
Pipfile / Pipfile.lock은 Python 패키징의 맥락에서 requirements.txt를 대체하기위한 것 같습니다. 그러나 이것이 실제로 어떻게 작동하는지에 대한 문서는 많지 않습니다. 여기 Python 웹 사이트의 PyPi 섹션에서 pipfile에 대한 진화하는 설명을 찾았 지만 꽤 지저분하고 파일의 다른 섹션의 의미를 설명하지 않습니다.
이 파일을 이해하는 방법에 대한 포인터가 있습니까?
이 파일의 개념은 Ruby의 Bundler 또는 Node의 Npm에 익숙하다면 기존의 다른 도구와 간단하고 유사합니다. Pipenv
이러한 목표를 달성하기 위해 Pipfile 및 Pipfile.lock 파일을 사용하는 패키지 및 가상 환경 관리 도구입니다.
Pipenv는 하나의 기본 표준 방식으로 가상 환경을 처리합니다 (더 이상 활성화 및 비활성화 필요 없음). 아래에서 시작하는 데 필요한 몇 가지 기본 사항은 pipenv 웹 사이트 에서 자세히 알아보세요 .
시작하기
프로젝트 폴더 유형에서 pipenv를 사용하는 것은 쉽습니다.
$ pipenv install
그것은 이미있는 경우 ... 그리고 requirements.txt
파일을, 그것은 생성됩니다 Pipfile
그렇지 않으면 빈 생성, 요구 사항 및 가상 환경의 폴더와 파일을 Pipfile
파일을. 설치 한 항목이 마음에 들지 않거나 마음이 바뀌었다면 다음을 입력하십시오.
$ pipenv uninstall <package>
... 그리고 당신은 갈 수 있습니다. pipenv가 이미 생성 한 가상 환경을 활성화하려면 다음으로 이동하십시오.
$ pipenv shell
... 그러면 가상 환경이 활성화됩니다. 환경을 떠나려면 ...
$ exit
... 원래 터미널 세션으로 돌아갑니다.
Pipfile
Pipfile의 파일은 모두 개발 및 실행에, 파이썬 응용 프로그램 또는 라이브러리에 대한 패키지 요구 사항을 지정하기위한 것입니다. 당신은 단순히 사용하여 패키지를 설치할 수 있습니다 ...
$ pipenv install flask
... 배포 및 실행을위한 종속성으로 추가되거나 ...
$ pipenv install --dev pytest
... 그리고 그것은 개발 시간에 대한 의존성으로 사용될 것입니다. 파일 구문은 다음과 같이 매우 간단합니다.
[[source]] # Here goes your package sources (where you are downloading your packages from).
url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"
[packages] # Here goes your package requirements for running the application and its versions (which packages you will use when running the application).
requests = "*"
flask = "*"
pandas = "*"
[dev-packages] # Here goes your package requirements for developing the application and its versions (which packaes you will use when developing the application)
pylint = "*"
wheel = "*"
[requires] # Here goes your required Python version.
python_version = "3.6"
Pipfile.lock
Pipfile.lock은 에서 패키지 존재를 기반으로 지정하기위한 것입니다 Pipfile 자동으로 서로 의존 패키지를 업그레이드하고 프로젝트 종속성 트리를 파괴의 위험을 피하고, 사람들의 특정 버전을 사용해야합니다.
다음을 사용하여 현재 설치된 패키지를 잠글 수 있습니다.
$ pipenv lock
...이 도구는 현재 설치된 버전에 따라 자동으로 잠금 파일을 생성하기 위해 가상 환경 폴더를 조회합니다. 파일 구문은 Pipfile 만큼 명확하지 않으므로 간결성을 위해 여기에 표시되지 않습니다.
아직도 의심이 있습니까? 다른 사람들이 배울 수 있도록 답변을 개선 할 수 있도록 알려주십시오. 나는 이미 내 프로젝트를 그것으로 마이그레이션했으며 내 직장에서 매일 사용하고 있습니다.
참고 URL : https://stackoverflow.com/questions/46330327/please-explain-the-usage-of-pipfile-and-pipfile-lock
'IT박스' 카테고리의 다른 글
메서드 특성을 통한 ASP.NET MVC 라우팅 (0) | 2020.10.08 |
---|---|
REST에서 POST 후 콘텐츠를 반환해도 괜찮습니까? (0) | 2020.10.08 |
MySQL 용 확장 솔루션 (복제, 클러스터링) (0) | 2020.10.08 |
malloc "double free"오류의 원인을 찾는 방법은 무엇입니까? (0) | 2020.10.08 |
NPM에서 주어진 패키지에 의존하는 설치된 모든 패키지를 어떻게 찾습니까? (0) | 2020.10.08 |