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-dev
NPM과 유사한 자동 옵션 을 제공하는 데 아무런 변화가 없었지만 Kenneth Reitz (저자 requests
및 그 이상)는 업데이트 를 더 잘 처리하기 위해 더 나은 pip 워크 플로 에 대한 더 많은 정보를 발표했습니다 pip
.
편집 2
위의 “더 나은 핍 워크 플로”기사에서 링크 된 pipenv
요구 사항 및 가상 환경을 관리하는 데 사용 하는 것이 좋습니다 . 최근에 이것을 많이 사용하여 전환이 얼마나 간단한지를 요약하고 싶습니다.
설치 pipenv
(Mac)
brew install pipenv
pipenv
기존 가상 프로젝트를 사용하여 자체 가상 환경을 만들고 관리하므로 requirements.txt
모든 요구 사항을 설치합니다 (Python3.7을 사용하지만 --three
그렇지 않은 경우 제거 할 수 있음 ).
pipenv --three install
virtualenv를 활성화하여 명령을 실행하는 것도 쉽습니다
pipenv shell
요구 사항을 설치하면 자동으로 Pipfile
및Pipfile.lock
pipenv install <package>
오래된 패키지를 업데이트 할 수도 있습니다
pipenv update
내가보기 엔 추천 을 체크 아웃 에서 오는 특히 npm
그와 비슷한 느낌이 같은 배경 package.json
및package-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가 추구하는 결과를 달성합니다.
pipenv 는 pip
무엇보다도 필요한 것을 제공 하는 종속성 관리 도구입니다 .
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