[python] pip의`npm install package –save-dev`는 무엇입니까?

nodejs npm install package --save-dev에서 설치된 패키지를 패키지에 저장합니다.

파이썬 패키지 관리자에서 같은 것을 어떻게 달성 pip합니까? 예를 requirements.pip들어 패키지를 설치 한 직후에 패키지 이름과 버전을 저장하고 싶습니다 pip install package --save-dev requirements.pip.



답변

와 동등한 것은 없습니다 pip.

가장 좋은 방법은 pip install package && pip freeze > requirements.txt

설명서 페이지 에서 사용 가능한 모든 옵션을 볼 수 있습니다 .

실제로 귀찮게하면 인수 pips를 가져 와서 파일에 자동으로 -s고정 되는 사용자 정의 bash 스크립트 ( ) 를 작성하는 것이 어렵지 않습니다 requirements.txt.

편집 1

이 글을 작성한 이후 --save-devNPM과 유사한 자동 옵션 을 제공하는 데 아무런 변화가 없었지만 Kenneth Reitz (저자 requests및 그 이상)는 업데이트 를 더 잘 처리하기 위해 더 나은 pip 워크 플로 에 대한 많은 정보를 발표했습니다 pip.

편집 2

위의 “더 나은 핍 워크 플로”기사에서 링크 된 pipenv요구 사항 및 가상 환경을 관리하는 데 사용 하는 것이 좋습니다 . 최근에 이것을 많이 사용하여 전환이 얼마나 간단한지를 요약하고 싶습니다.

설치 pipenv(Mac)

brew install pipenv

pipenv기존 가상 프로젝트를 사용하여 자체 가상 환경을 만들고 관리하므로 requirements.txt모든 요구 사항을 설치합니다 (Python3.7을 사용하지만 --three그렇지 않은 경우 제거 할 수 있음 ).

pipenv --three install

virtualenv를 활성화하여 명령을 실행하는 것도 쉽습니다

pipenv shell

요구 사항을 설치하면 자동으로 PipfilePipfile.lock

pipenv install <package>

오래된 패키지를 업데이트 할 수도 있습니다

pipenv update

내가보기 엔 추천 을 체크 아웃 에서 오는 특히 npm그와 비슷한 느낌이 같은 배경 package.jsonpackage-lock.json


답변

이 간단한 선은 출발점입니다. bash 명령을 쉽게 빌드하여 줄에서 PACKAGE를 재사용 할 수 있습니다.

pip install PACKAGE && pip freeze | grep PACKAGE >> requirements.txt

간단한 bash 함수 예제에 대한 @devsnd 덕분에 :

function pip-install-save { 
    pip install $1 && pip freeze | grep $1 >> requirements.txt
}

사용하려면 다음을 실행하십시오.

pip-install-save some-package


답변

나는 실제 감싸는 파이썬 패키지를 만든 pip라는 pipm을 . 모든 pip명령은 그대로 작동하며 요구 사항 파일에 반영됩니다. pip-save(찾아서 사용할 수 없었던 유사한 도구) 와 달리 많은 파일과 환경 (테스트, 개발, 생산 등)을 처리 할 수 ​​있습니다. 또한 모든 종속성을 업그레이드하라는 명령이 있습니다.

설치

pipm install pkg-name

개발 의존성으로 설치

pipm install pkg-name --dev

테스트 종속성으로 설치

pipm install pkg-name --test

제거

pipm uninstall pkg-name

모든 의존성 업데이트

pipm update

요구 사항 파일에서 모든 종속성을 설치하십시오.

pipm install

개발 의존성 포함

pipm install --dev


답변

업데이트 : 분명히, pipenv 공식적으로 파이썬 관리자들에 의해 승인되지 않은 , 그리고 이전에 링크 된 페이지가 다른 조직에 의해 소유하고 있습니다. 이 도구에는 장단점이 있지만 아래 솔루션은 여전히 ​​OP가 추구하는 결과를 달성합니다.

pipenvpip무엇보다도 필요한 것을 제공 하는 종속성 관리 도구입니다 .

https://pipenv.kennethreitz.org/en/latest/#example-pipenv-workflow

$ pipenv install <package>

Pipfile이 없으면 생성합니다. 패키지가 존재하면 제공 한 새 패키지로 자동 편집됩니다.

A Pipfile는에 직접 대응하는 package.json반면,에 Pipfile.lock해당합니다 package-lock.json.


답변

명령을 설치 / 제거하는 옵션을 pip추가하기 위해 빠른 해킹을 했습니다 --save.

이 핵에 대한 자세한 내용은 내 블로그를 참조하십시오 :
http://blog.abhiomkar.in/2015/11/12/pip-save-npm-like-behaviour-to-pip/

설치 (GitHub) :
https://github.com/abhiomkar/pip-save

도움이 되었기를 바랍니다.


답변

수동으로 Makefile (또는 텍스트 파일에 저장 한 다음 Makefile로 가져 오기)에 저장할 수 있습니다 .

PYTHON=.venv/bin/python # path to pyphon
PIP=.venv/bin/pip # path to pip
SOURCE_VENV=. .venv/bin/activate


install:
    virtualenv .venv
    $(SOURCE_VENV) && $(PIP) install -e PACKAGE
    $(SOURCE_VENV) && $(PIP) install -r requirements.txt # other required packages

그리고 그냥 실행 make install


답변

이 작은 명령 줄을 사용하여 패키지를 설치하고 버전을 requirements.txt다음에 저장합니다 .
pkg=package && pip install $pkg && echo $(pip freeze | grep -i $pkg) >> requirements.txt