Aqui está o problema
Eu tenho um requirements.txt que se parece com:
BeautifulSoup==3.2.0
Django==1.3
Fabric==1.2.0
Jinja2==2.5.5
PyYAML==3.09
Pygments==1.4
SQLAlchemy==0.7.1
South==0.7.3
amqplib==0.6.1
anyjson==0.3
...
Eu tenho um diretório de arquivo local contendo todos os pacotes + outros.
Eu criei um novo virtualenv com
bin/virtualenv testing
ao ativá-lo, tentei instalar os pacotes de acordo com o requirements.txt do diretório de arquivamento local.
source bin/activate
pip install -r /path/to/requirements.txt -f file:///path/to/archive/
Eu recebi alguma saída que parece indicar que a instalação está boa
Downloading/unpacking Fabric==1.2.0 (from -r ../testing/requirements.txt (line 3))
Running setup.py egg_info for package Fabric
warning: no previously-included files matching '*' found under directory 'docs/_build'
warning: no files found matching 'fabfile.py'
Downloading/unpacking South==0.7.3 (from -r ../testing/requirements.txt (line 8))
Running setup.py egg_info for package South
....
Mas a verificação posterior revelou que nenhum pacote está instalado corretamente. Não consigo importar o pacote e nenhum é encontrado no diretório de pacotes do site do meu virtualenv. Então, o que deu errado?
python
virtualenv
pip
kakarukeys
fonte
fonte
--no-index
para que nem sequer olhe para o PyPI?Respostas:
Isso funciona para mim:
--no-index
- Ignore o índice do pacote (apenas procurando--find-links
URLs).-f, --find-links <URL>
- Se um URL ou caminho para um arquivo html, analise os links para os arquivos. Se um caminho oufile://
URL local que é um diretório, procure por arquivos na lista de diretórios.fonte
--no-index
do comando pip ajudam a instalar o--no-index
Ignore package index (visualizando apenas os--find-links
URLs). As informações--find-links
do comando pip ajudam a instalar-f
,--find-links <url>
se um URL ou caminho para um arquivo html, analise os links para os arquivos. Se um caminho ou arquivo local: // url for um diretório, procure por arquivos na lista de diretórios.pip install <some_module>
sem usar,requirements.txt
mas isso não será atualizadorequirements.txt
. Uma alternativa pode estar atualizando uma janela de encaixe, de forma a listar todos os comandos de instalação do pip executados para instalar dependências.python -m pip install -r requirements.txt
quando dentro do ambiente venv ativado. as coisas foram instaladas sem problemas, mas quando eu faço a lista do pip, não mostra esses pacotes, quando estou no venv ativo ou mesmo depois de desativar o venv. também não é capaz de usar esses pacotes. não sei o que há de errado aquipython
refere ao executável python do ambiente ativado$ which python
?Eu li o acima, percebo que esta é uma pergunta antiga, mas está totalmente sem solução e ainda está no topo dos meus resultados de pesquisa no Google, então aqui está uma resposta que funciona para todos:
fonte
pip install -r /path/to/requirements.txt
. Isso detecta a alteração, atualiza o pacote e deixa todo o resto em paz.requirements.txt
, nenhum deles será instalado. Se um módulo necessário importar uma dependência durante sua instalação (em vez de apenas listá-la como um requisito), ele falhará, mesmo que a dependência o preceda na lista de dependências, causando a falha de todos os módulos. Provavelmente, é um erro importar um módulo dependente durante a instalação, mas também é inesperado que as dependências listadasrequirements.txt
não sejam instaladas sequencialmente, mas de uma só vez.Para o virtualenv instalar todos os arquivos no arquivo requirements.txt.
pip install -r requirements.txt
no seu shellfonte
Eu tive um problema parecido. Eu tentei isso:
(-U = atualize se já estiver instalado)
Mas o problema continuou. Percebi que algumas bibliotecas genéricas para desenvolvimento estavam ausentes.
Não sei se isso iria ajudá-lo.
fonte
Para mais detalhes, consulte a opção de ajuda.
Podemos encontrar a opção '-r'
Informações adicionais sobre algumas opções de instalação do pip comumente usadas: (Esta é a opção de ajuda no comando pip install)
Além disso, o acima é o conjunto completo de opções. Por favor, use pip install --help para obter a lista completa de opções.
fonte
Resposta curta
ou de outra forma:
Explicação
Aqui,
-r
é uma forma abreviada--requirement
e solicita apip
instalação a partir dorequirements
arquivo fornecido .pip
iniciará a instalação somente após verificar a disponibilidade de todos os itens listados norequirements
arquivo e não iniciará a instalação, mesmo que umrequirement
esteja indisponível.Uma solução alternativa para instalar os pacotes disponíveis é instalar os pacotes listados, um por um. Use o seguinte comando para isso. Um aviso de cor vermelha será exibido para notificá-lo sobre os pacotes indisponíveis.
Para ignorar comentários (linhas começando com a
#
) e linhas em branco, use:fonte
Freqüentemente, você desejará uma instalação rápida a partir de arquivos locais, sem investigar o PyPI.
Primeiro, faça o download dos arquivos que atendem aos seus requisitos:
Em seguida, instale usando
–find-links
e–no-index
:fonte
no such option: --download
Eu trabalho com muitos sistemas que foram prejudicados pelos desenvolvedores "seguindo as instruções que encontraram na internet". É extremamente comum que você
pip
e vocêpython
não estejam olhando para os mesmos caminhos / pacotes de sites. Por esse motivo, quando encontro estranheza, começo fazendo o seguinte:Esse é um sistema feliz .
Abaixo está um sistema infeliz . (Ou pelo menos é um sistema alegremente ignorante que faz com que outras pessoas sejam infelizes.)
É infeliz porque
pip
está (python3.6 e) usando/usr/local/lib/python3.6/site-packages
whilepython
é (python2.7 e) usando/usr/local/lib/python2.7/site-packages
Quando eu quero ter certeza de que estou instalando requisitos no python certo , faço o seguinte:
Você já ouviu: "Se não estiver quebrado, não tente consertar". A versão do DevOps é: "Se você não o quebrou e pode contornar isso, não tente corrigi-lo".
fonte
Antes de tudo, crie um ambiente virtual
no python 3.6
em python 2.7
em seguida, ative o ambiente e instale todos os pacotes disponíveis no arquivo requirements.txt.
fonte
Instalando o arquivo requirements.txt dentro do ambiente virtual com python 3:
Eu tive o mesmo problema. Eu estava tentando instalar o arquivo requirements.txt dentro de um ambiente virtual. Eu encontrei a solução.
Inicialmente, criei meu ambiente virtual desta maneira:
Ative o ambiente usando:
Agora eu instalei o requirements.txt usando:
A instalação foi bem-sucedida e eu pude importar os módulos.
fonte
virtualenv -p python myenv
,myenv\Scripts\activate.bat
,pip install -r requirements.txt
requirements.txt
um virtualenv. A menos que esteja faltando alguma coisa? De qualquer forma, obrigado!tente isso
fonte
OU
fonte
--user
internorequirements.txt
?