Como instalar pacotes usando pip de acordo com os requisitos.txt de um directório local?
Aqui está o problema
Eu tenho um requisito.txt que se parece:
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
...
Tenho um directório de arquivo local contendo todos os pacotes + outros.
Criei um novo virtualenv com
bin/virtualenv testing
Ao activá-lo, tentei instalar os pacotes de acordo com os requisitos.txt a partir do directório de arquivos local.
source bin/activate
pip install -r /path/to/requirements.txt -f file:///path/to/archive/
Tenho alguns resultados que parecem indicar que a instalação está bem
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 uma verificação posterior revelou que nenhum dos pacotes está instalado correctamente. Não posso importar o pacote, e nenhum é encontrado no directório de pacotes do meu virtualenv. Então o que correu mal?
957
12
I'li o acima, percebi que esta é uma pergunta antiga, mas é's totalmente não resolvida e ainda no topo dos meus resultados de pesquisa no Google, por isso aqui's uma resposta que funciona para todos:
Isto funciona para mim:
--não-índice
- Ignorar índice de pacotes (olhando apenas para-e-encontrar-links
URLs).-f, --find-links
- Se um URL ou caminho para um ficheiro html, então parse para links para arquivos. Se um caminho local oufile://
URL que's é um directório, então procurar por arquivos na listagem do directório.Para o virtualenv instalar todos os ficheiros no ficheiro requirements.txt.
pip install -r requirements.txt
na sua shellEu tinha um problema semelhante. Eu tentei isto:
(-U = actualizar se já tivesse instalado)
Mas o problema continuou. Percebi que algumas das bibliotecas genéricas para o desenvolvimento não estavam disponíveis.
Eu não sei se isto o ajudaria.
Para mais detalhes, por favor, verifique a opção de ajuda.
Nós podemos encontrar a opção '-r'
'-r' > -r, --requirement Instale a partir do arquivo de requisitos dado. Esta opção pode ser
Mais informações sobre algumas opções de instalação de pip comumente usadas: (Esta é a opção de ajuda no comando de instalação do pip)
[![insira aqui a descrição da imagem][1]][1]
[1]: http://i.stack.imgur.com/NWTio.png
Também o acima mencionado é o conjunto completo de opções. Por favor, use pip install --help para a lista completa de opções.
Muitas vezes, você vai querer uma instalação rápida a partir de arquivos locais, sem sondar o PyPI.
Primeiro, faça o download dos arquivos que preenchem os seus requisitos:
Em seguida, instale utilizando
-find-links' e
-no-index':**Resposta curta***
ou de outra forma:
**Explicação***
Aqui,
-r' é uma forma curta de
--requirement' e pede aopip' para instalar a partir do arquivo
requirements' dado.O
pip' só iniciará a instalação após verificar a disponibilidade de todos os itens listados no arquivo
requirements' e ele ganhou't iniciar a instalação mesmo que umrequirement
não esteja disponível.Uma alternativa para instalar os pacotes disponíveis é instalar os pacotes listados um a um. Utilize o seguinte comando para isso. Um aviso de cor vermelha será mostrado para notificá-lo sobre os pacotes indisponíveis.
Para ignorar comentários (linhas começando com um
#
) e linhas em branco, utilize:Eu trabalho com muitos sistemas que têm sido aproveitados pelos desenvolvedores " seguindo as instruções que eles encontraram na internet". É extremamente comum que seu
pip' e seu
pipthon' não estejam olhando para os mesmos caminhos/pacotes de sites. Por esta razão, quando encontro estranheza, começo por fazer isto:Isso é um sistema feliz.
Abaixo está um sistema feliz*. (Ou pelo menos é'é um sistema felizmente ignorante que faz com que os outros sejam infelizes).
É unhappy porque
pip
está (python3.6 e) utilizando/usr/local/lib/python3.6/site-packages' enquanto
python' está (python2.7 e) utilizando `/usr/local/lib/python2.7/site-packages'.Quando eu quero ter certeza de que I'm instalando requisitos para a python right, eu faço isso:
You've heard, "If it ain't broke, don't try to fix it." A versão DevOps disso é, "Se você não'não o quebrou e pode trabalhar em torno dele, don'não tente consertá-lo."
Installing requirements.txt file inside virtual env com python 3:
Eu tinha o mesmo problema. Eu estava tentando instalar o arquivo requirements.txt dentro de um ambiente virtual. Eu encontrei a solução.
Inicialmente, criei o meu ambiente virtual desta forma:
Ativar o ambiente usando:
Agora eu instalei o arquivo requirements.txt usando:
A instalação foi bem sucedida e eu pude importar os módulos.
experimente isto
antes de mais nada, criar um ambiente virtual
em python 3.6
em python 2.7
então instale todos os pacotes disponíveis no arquivo requirement.txt.
OU