Development Tip

npm 또는 rubygems에 해당하는 Python

yourdevel 2020. 12. 15. 19:50
반응형

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.txtvirtualenv를 설정하고 다음을 실행하십시오.

 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

반응형