Proteja os pacotes instalados de atualização ao instalar novos pacotes com pip

Fugu_Fish

Imagine que tenho dois pacotes fooe baronde fooestá uma dependência de bar. foojá está instalado e agora desejo instalar barcom pip. É possível fazer isso sem atualizar foo? Em particular, quero instalar a versão mais recente do barque está satisfeita com a versão instalada do foo.

De pip help install

--upgrade-strategy <upgrade_strategy>
                            Determines how dependency upgrading should be handled
                            [default: only-if-needed]. "eager" - dependencies are
                            upgraded regardless of whether the currently installed
                            version satisfies the requirements of the upgraded
                            package(s). "only-if-needed" -  are upgraded only when
                            they do not satisfy the requirements of the upgraded
                            package(s).

Pelo que vejo, isso cobre apenas os casos "sempre atualizar" e "apenas atualizar se necessário", mas não "nunca atualizar" como eu preciso.

Uranusjr

pip install bar(sem sinalizadores de atualização) deve fazer o que você deseja. pip deve escolher o instalado atualmente, a foomenos barque diga explicitamente que a versão não é compatível. O novo resolvedor (2020) também é capaz de encontrar uma barversão que funcione com a fooversão atualmente instalada , experimentando automaticamente as versões disponíveis uma a uma (chamado backtracking ) e instalando-a. O resolvedor 2020 é um recurso opcional no pip 20.2, disponível via --use-feature=2020-resolver, e está programado para se tornar o padrão no 20.3 (lançamento planejado em outubro de 2020).

A ressalva, entretanto, é que o pacote Python não fornece uma maneira de descobrir conflitos de versão sem baixar o pacote (às vezes, até mesmo compilando a partir do código-fonte). 1 Isso seria um problema se o pacote barfosse caro para baixar (por exemplo tensorflow) e / ou compilar (por exemplo, se você estiver instalando numpyem plataformas menos suportadas como Alpine Linux). Nesse caso, a única opção seria especificar a versão manualmente, já que o pip não tem como saber qual versão do barpode ser usada, a menos que você diga explicitamente, sem tentar baixar várias versões dela.

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

De quais repositórios os pacotes pip são instalados?

Por que os pacotes instalados com `pip install -e .` não precisam de __init__.py?

erro ao instalar pacotes python com PIP

Como devo instalar os pacotes com pip?

Erro de conexão do proxy ao tentar instalar pacotes com pip no ambiente anaconda

Como instalar o npm - salvar todos os pacotes já instalados?

Como ver os tamanhos dos pacotes de pip instalados?

Como fazer o pip ver os pacotes instalados com o homebrew?

Como criar automaticamente um arquivo de requisitos com todos os pacotes Python instalados usando pip?

Posso manter atualizados apenas os pacotes instalados diretamente com o pip?

O Anaconda não encontrou meus pacotes instalados com `pip`

Como saber quais pacotes são instalados com pip

Como saber quais pacotes são instalados com pip

Identificar a relação de dependência para pacotes Python instalados com pip

Como verifico os pacotes instalados com o comando make?

erro: o comando 'gcc' falhou com o status de saída 1 ao instalar pacotes pip na imagem docker alpina

Defina os pacotes que serão instalados em todos os novos ambientes conda

Como obter uma lista de todos os pacotes instalados junto com a versão no composer?

erro pip ao instalar pacotes no prompt de comando

'=' não é um operador válido ao tentar instalar pacotes com pip

conflito de versão do pycurl entre os pacotes instalados

Por que os pacotes instalados com a opção pip install --user não são 'visíveis' no shell?

Por que os novos pacotes foram instalados após usar o comando Update-Package --reinstall

Os pacotes de atualização "yarn add global" podem ser instalados pelo npm?

Como corrigir "module 'platform' não tem atributo 'linux_distribution'" ao instalar novos pacotes com Python3.8?

Problema ao tentar instalar pacotes do pip

opencpu não mostra os pacotes instalados

Como podemos conda instalar os pacotes foram baixados com sucesso, ignorando o download de pacotes com falha?

qual é o propósito de um asterisco * ao usar pip para instalar pacotes python

TOP lista

  1. 1

    R Shiny: use HTML em funções (como textInput, checkboxGroupInput)

  2. 2

    O Chromium e o Firefox exibem as cores de maneira diferente e não sei qual deles está fazendo certo

  3. 3

    Como assinar digitalmente um documento PDF com assinatura e texto visíveis usando Java

  4. 4

    R Folheto. Dados de pontos de grupo em células para resumir muitos pontos de dados

  5. 5

    Gerenciar recurso shake de Windows Aero com barra de título personalizado

  6. 6

    Como obter dados API adequados para o aplicativo angular?

  7. 7

    UITextView não está exibindo texto longo

  8. 8

    Por que meus intervalos de confiança de 95% da minha regressão multivariada estão sendo plotados como uma linha de loess?

  9. 9

    Acessando relatório de campanhas na AdMob usando a API do Adsense

  10. 10

    Usando o plug-in Platform.js do Google

  11. 11

    Como posso modificar esse algoritmo de linha de visada para aceitar raios que passam pelos cantos?

  12. 12

    Dependência circular de diálogo personalizado

  13. 13

    Coloque uma caixa de texto HTML em uma imagem em uma posição fixa para site para desktop e celular

  14. 14

    iOS: como adicionar sombra projetada e sombra de traço no UIView?

  15. 15

    Como usar a caixa de diálogo de seleção de nomes com VBA para enviar e-mail para mais de um destinatário?

  16. 16

    Tabela CSS: barra de rolagem para a primeira coluna e largura automática para a coluna restante

  17. 17

    How to create dynamic navigation menu select from database using Codeigniter?

  18. 18

    Converter valores de linha SQL em colunas

  19. 19

    ChartJS, várias linhas no rótulo do gráfico de barras

  20. 20

    用@StyleableRes注释的getStyledAttributes。禁止警告

  21. 21

    não é possível adicionar dependência para com.google.android.gms.tasks.OnSuccessListener

quentelabel

Arquivo