No nodejs, posso fazer npm install package --save-dev
para salvar o pacote instalado no pacote.
Como faço para conseguir a mesma coisa no gerenciador de pacotes Python pip
? Gostaria de salvar o nome do pacote e sua versão em, digamos, requirements.pip
logo após instalar o pacote usando algo como pip install package --save-dev requirements.pip
.
pip freeze > requirements.pip
npm install package --save-dev
combina instalação e adição ao arquivo de requisitos node_npm ao mesmo tempo. É mais útil. Compip freeze
eu tenho que fazer dois comandos para fazer a mesma coisa: 1)pip install package
2)pip freeze > requirements.pip
--save
opção.Respostas:
Não há um equivalente com
pip
.A melhor maneira é
pip install package && pip freeze > requirements.txt
Você pode ver todas as opções disponíveis na página de documentação .
Se isso realmente o incomoda, não seria muito difícil escrever um script bash personalizado (
pips
) que use um-s
argumento e congele seurequirements.txt
arquivo automaticamente.Editar 1
Desde que escrevemos isso, não houve mudança no fornecimento de uma
--save-dev
opção automática semelhante ao NPM, no entanto, Kenneth Reitz (autorrequests
e muitos mais) divulgou mais algumas informações sobre um melhor fluxo de trabalho do pip para lidar melhor com aspip
atualizações.Editar 2
Vinculado no artigo "fluxo de trabalho do pip melhor" acima, agora é recomendado o uso
pipenv
para gerenciar requisitos e ambientes virtuais. Tendo usado muito isso recentemente, gostaria de resumir o quão simples é a transição:Instalar
pipenv
(no Mac)pipenv
cria e gerencia seus próprios ambientes virtuais, portanto, em um projeto já existenterequirements.txt
, a instalação de todos os requisitos (eu uso o Python3.7, mas você pode remover o--three
que não tiver) é tão simples quanto:Ativar o virtualenv para executar comandos também é fácil
Requisitos Instalação irá atualizar automaticamente o
Pipfile
ePipfile.lock
Também é possível atualizar pacotes desatualizados
Eu recomendo vê-lo, especialmente se vier de um
npm
fundo, pois tem uma sensação semelhantepackage.json
epackage-lock.json
fonte
pipenv
permite que você especifique adev-packages
em seuPipfile
e / ou use--dev
(ou-d
) na linha de comando. por exemplopipenv install --dev nose2
Essa linha simples é um ponto de partida. Você pode criar facilmente um comando bash para reutilizar o PACKAGE na linha.
Obrigado a @devsnd pelo exemplo simples da função bash:
Para usá-lo, basta executar:
fonte
P=Flask pip install $P && pip freeze | grep $P >> requirements.txt
Eu criei o pacote python que envolve o real
pip
chamado pipm . Todos ospip
comandos funcionarão como estão, além de refletidos no arquivo de requisitos. Ao contráriopip-save
(ferramenta semelhante que encontrei e não consegui usar), ele pode lidar com muitos arquivos e ambientes (teste, desenvolvimento, produção etc.). Ele também possui comando para atualizar todas / algumas de suas dependências.instalação
pipm install pkg-name
instalação como dependência de desenvolvimento
pipm install pkg-name --dev
instalação como dependência de teste
pipm install pkg-name --test
remoção
pipm uninstall pkg-name
atualize todas as suas dependências
pipm update
instale todas as suas dependências a partir do arquivo de requisitos
pipm install
incluindo dependências de desenvolvimento
pipm install --dev
fonte
Atualização: aparentemente, o pipenv não é oficialmente endossado pelos mantenedores do Python , e a página vinculada anteriormente pertence a uma organização diferente. A ferramenta tem seus prós e contras, mas a solução abaixo ainda alcança o resultado que o OP está buscando.
O pipenv é uma ferramenta de gerenciamento de dependência que envolve
pip
e, entre outras coisas, fornece o que você está perguntando:https://pipenv.kennethreitz.org/en/latest/#example-pipenv-workflow
A
Pipfile
é um equivalente direto depackage.json
, enquantoPipfile.lock
corresponde apackage-lock.json
.fonte
Eu fiz um hack rápido
pip
para adicionar a--save
opção de instalar / desinstalar comandos.Por favor, dê uma olhada no meu blog para obter mais informações sobre esse hack: http://blog.abhiomkar.in/2015/11/12/pip-save-npm-like-behaviour-to-pip/
Instalação (GitHub): https://github.com/abhiomkar/pip-save
Espero que isto ajude.
fonte
você pode salvá-lo manualmente em um Makefile (ou em um arquivo de texto e depois importá-lo em seu Makefile):
e então apenas corra
make install
fonte
Estou usando esta pequena linha de comando para instalar um pacote e salvar sua versão em
requirements.txt
:pkg=package && pip install $pkg && echo $(pip freeze | grep -i $pkg) >> requirements.txt
fonte
Que tal fazer um shell funcionar para fazer isso? Adicione o código abaixo ao seu
~/.profile
ou~/.bashrc
execute
source ~/.profile
ousource ~/.bashrc
importe-o para o seu terminal atualquando você deseja instalar o && salvar um pacote, basta executar, por exemplo
pips requests
. após a instalação do pacote, sua versão será salvarequirements.txt
no diretório atual.fonte