npm 또는 rubygems에 해당하는 Python
파이썬과 함께 사용할 수있는 패키지 관리자를 찾고있었습니다. 파일에 프로젝트 종속성을 나열하고 싶습니다. 예를 들어 ruby는 번들 설치를 사용할 수있는 Gemfile을 사용합니다. 파이썬에서 어떻게 이것을 할 수 있습니까?
이 pip
도구는 Ruby의 gem과 동등한 표준이되고 있습니다. 마찬가지로 distribute
, pip
용도 PyPI의 해결 및 종속성을 다운로드 (기본적으로) 패키지 저장소를. pip
프로젝트 종속성을 나열하는 파일에서 종속성을 설치할 수 있습니다 ( requirements.txt
규칙에 따라 호출 됨).
pip install -r requirements.txt
pip를 사용하여 Python 경로에서 현재 패키지를 "고정"할 수도 있습니다.
pip freeze > requirements.txt
와 함께 사용하면 virtualenv
패키지, 당신은 안정적으로 프로젝트의 요구 종속성 프로젝트 파이썬 환경을 만들 수 있습니다.
Pipenv
(나는 그것이 오래된 질문이라는 것을 알고 있으며 이미 답변이 있지만 여기에 오는 사람은 나와 같은 다른 답변을 찾고 있습니다.)
npm 에 대해 아주 좋은 것을 찾았 습니다 . pipenv 라고 합니다 . virtualenv 및 pip 요구 사항을 동시에 처리 하므로 npm과 비슷합니다.
간단한 사용 사례
pip install pipenv
그런 다음 세 번째 버전의 python으로 새 virtualenv를 만들 수있을뿐만 아니라 프로젝트 요구 사항 및 기타 항목으로 채워질 pipfile 을 만들 수 있습니다.
pipenv install --three
생성 된 virtualenv 사용 :
pipenv shell
새 파이썬 패키지 설치 :
pipenv install requests
.py 파일을 실행하는 것은 다음과 같습니다.
pipenv run python somefile.py
Python은 pip
패키지 관리자에 사용됩니다. 이 pip install
명령에는 -r <file>
지정된 요구 사항 파일에서 패키지를 설치 하는 옵션이 있습니다.
설치 명령 :
pip install -r requirements.txt
예시 requirements.txt
내용 :
Foo >= 1.2
PickyThing <1.6,>1.9,!=1.9.6,<2.0a0,==2.4c1
SomethingWhoseVersionIDontCareAbout
형식에 대한 전체 설명은 문서의 요구 사항 구문 분석 섹션을 참조하십시오. https://pip.pypa.io/en/stable/user_guide/#requirements-files
이것이 내가 pip
의 범위를 현재 프로젝트로 제한하는 방법 입니다. 그것은 당신이 NodeJS의에서 오는하는 경우 정반대의 느낌 npm
이나 PHP의 composer
명시 적으로 글로벌 설치를 지정하는 경우 -g
나 --global
.
아직 virtualenv
설치 하지 않은 경우 다음을 사용하여 전역 적으로 설치하십시오.
pip install virtualenv
각 Python 프로젝트에는 자체 virtualenv
설치 가 있어야 합니다. cd
프로젝트의 루트 에만 쉽게 설정할 수 있습니다.
python3 -m virtualenv env # creates env folder with everything you need
virtualenv 활성화 :
source env/bin/activate
이제와의 모든 상호 작용이 pip
프로젝트 내에 포함됩니다.
pip install package_name==version
각 종속성에 대해 실행하십시오 . 그들은에 설치됩니다./env/lib/python3.x/site-packages/
프로젝트의 종속성을 파일에 저장하려면 다음을 실행하세요.
pip freeze > requirements.txt
당신은 실제로 필요하지 않습니다 -l
또는 --local
당신이 활성화 된 프로젝트 별의 VIRTUALENV에 있다면 (당신은해야합니다).
이제에서 종속성을 설치하려면 requirements.txt
virtualenv를 설정하고 다음을 실행하십시오.
pip install -r requirements.txt
그게 다야.
이것은 오래된 질문이지만 상황은 끊임없이 진화하고 있습니다.
에 대한 다른 답변에 추가로 pipenv
. 라는 파이썬 패키지 관리자도 있습니다 poetry
.
There is a detailed comparison between pipenv
and poerty
here: Feature comparison between npm, pip, pipenv and poetry package managers. It also links the features to common npm
features.
ReferenceURL : https://stackoverflow.com/questions/13537901/python-equivalent-of-npm-or-rubygems
'Development Tip' 카테고리의 다른 글
JavaFX FileChooser (0) | 2020.12.15 |
---|---|
시간을 UTC로 저장하는 것이 항상 좋은 생각입니까, 아니면 현지 시간으로 저장하는 것이 더 좋은 경우입니까? (0) | 2020.12.15 |
목록의 모든 값이 특정 숫자보다 큰지 확인 (0) | 2020.12.15 |
스크롤하는 동안 JavaScript getBoundingClientRect () 변경 (0) | 2020.12.15 |
React에서 조건부 스타일을 처리하는 올바른 방법 (0) | 2020.12.15 |