Como posso instalar pacotes usando pip de acordo com os requisitos.ficheiro txt de uma pasta local?

O problema é este:

eu tenho um Requisitos.ficheiro 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
...

tenho uma pasta de arquivo local que contém todos os pacotes + outros.

eu criei um novo virtualenv com

bin/virtualenv testing
Ao activá-lo, tentei instalar os pacotes de acordo com os requisitos.txt da pasta do arquivo 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 Do pacote está instalado correctamente. Eu não posso importar o pacote, e nenhum é encontrado no diretório de pacotes de site do meu virtualenv. Então, o que correu mal?

Author: Peter Mortensen, 2011-08-29

12 answers

Isto funciona comigo.
$ pip install -r requirements.txt --no-index --find-links file:///tmp/packages

--no-index - ignorar o índice de pacotes (apenas olhando para --find-links URLs em alternativa).

-f, --find-links <URL> - Se um URL ou caminho para um arquivo HTML, em seguida, analisar para links para arquivos.

Se uma localização local ou file:// URL que é uma pasta, então procure por arquivos na lista de pastas.

 904
Author: codeape, 2021-01-28 19:58:09

Isto funciona para todos:

pip install -r /path/to/requirements.txt
 1460
Author: Mike Lyons, 2021-01-28 19:59:08

Para o virtualenv instalar todos os ficheiros nos requisitos de .ficheiro txt .

  1. cd para o directório onde as necessidades.o txt está localizado
  2. active o seu virtualenv
  3. corre: pip install -r requirements.txt na tua concha
 144
Author: Aaron Lelevier, 2021-01-28 20:00:04
Tive um problema semelhante. Eu tentei isto.
    pip install -U -r requirements.txt

(-U = actualização se já tivesse instalado)

Mas o problema continuou. Eu percebi que algumas bibliotecas genéricas para desenvolvimento foram perdidas.
    sudo apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk
Não sei se isto te ajudaria.
 65
Author: enriquetaso, 2021-01-28 20:06:45

Utilizar:

pip install -r requirements.txt

Para mais detalhes, por favor verifique a opção Ajuda:

pip install --help

Podemos encontrar a opção '- r ' -

- r, -- requirement Install from the given requirements file. Esta opção pode ser usado várias vezes.

Mais informações sobre algumas opções de instalação do pip normalmente usadas (esta é a opção de Ajuda no comando pip install):

Enter image description here

Também o acima é o conjunto completo de opções. Por favor utilize pip install --help lista completa de opções.

 35
Author: Py_minion, 2021-01-28 20:08:05

Resposta Curta

pip install -r /path/to/requirements.txt

Ou sob outra forma:

python -m pip install -r /path/to/requirements.txt

Anotações

Aqui, -r é uma forma curta de --requirement e pede ao pip para instalar a partir do ficheiro dado requirements.

pip só irá iniciar a instalação depois de verificar a disponibilidade de todos os itens listados no ficheiro requirements e não irá iniciar a instalação mesmo que um requirement esteja indisponível.

Uma solução para instalar os pacotes disponíveis está a instalar a lista pacotes um a um. Use o seguinte comando para isso. Um aviso de cor vermelha será mostrado para notificá-lo sobre os pacotes indisponíveis.

cat requirements.txt | xargs -n 1 pip install

Para ignorar os comentários (linhas que começam por um #) e linhas em branco, use:

cat requirements.txt | cut -f1 -d"#" | sed '/^\s*$/d' | xargs -n 1 pip install
 27
Author: Safwan, 2019-05-06 09:55:08

Muitas vezes, você vai querer uma instalação rápida dos arquivos locais, sem sondar o PyPI.

Primeiro, descarregue os arquivos que cumprem os seus requisitos:

$ pip install --download <DIR> -r requirements.txt

Então, instale usando –find-links e –no-index:

$ pip install --no-index --find-links=[file://]<DIR> -r requirements.txt
 22
Author: Jadav Bheda, 2015-11-25 17:06:27

Eu trabalho com um monte de sistemas que foram danificados pelos desenvolvedores "seguindo direções que encontraram na Internet". É extremamente comum que o seu pip e o seu python não estejam a olhar para os mesmos caminhos/pacotes do site. Por esta razão, quando encontro estranheza começo por fazer isto:

$ python -c 'import sys; print(sys.path)'
['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages']

$ pip --version
pip 9.0.1 from /usr/local/lib/python2.7/dist-packages (python 2.7)
Isso é um sistema feliz.

Abaixo está um sistema infeliz. (Ou pelo menos é um sistema bem ignorante que faz com que os outros sejam infeliz.)

$ pip --version
pip 9.0.1 from /usr/local/lib/python3.6/site-packages (python 3.6)

$ python -c 'import sys; print(sys.path)'
['', '/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/site-packages']

$ which pip pip2 pip3
/usr/local/bin/pip
/usr/local/bin/pip3

É infeliz Porque pip é (python3.6 e) usando /usr/local/lib/python3.6/site-packages enquanto python é (python2.7 e) usando /usr/local/lib/python2.7/site-packages

Quando quero ter a certeza que estou a instalar requisitos para a direita python, faço isto:

$ which -a python python2 python3
/usr/local/bin/python
/usr/bin/python
/usr/local/bin/python2
/usr/local/bin/python3

$ /usr/bin/python -m pip install -r requirements.txt
Já ouviste: "se não está partido, Não tentes arranjá-lo."A versão DevOps disso é," se você não quebrou e você pode trabalhar em torno dele, não tente consertá-lo."
 13
Author: Bruno Bronosky, 2021-01-28 20:13:31
Em primeiro lugar, criar um ambiente virtual.

Em Python 3.6

virtualenv --python=/usr/bin/python3.6 <path/to/new/virtualenv/>

Em Python 2.7

virtualenv --python=/usr/bin/python2.7 <path/to/new/virtualenv/>

Depois active o ambiente e instale todos os pacotes disponíveis no requisito .ficheiro txt.

source <path/to/new/virtualenv>/bin/activate
pip install -r <path/to/requirement.txt>
 13
Author: Girish Vas, 2021-01-28 21:36:57

Requisitos de instalação.ficheiro txt dentro da env virtual com Python 3:

Eu tinha o mesmo problema. Estava a tentar instalar os requisitos.ficheiro txt dentro de um ambiente virtual. Encontrei a solução. Inicialmente, criei o meu virtualenv desta forma.
virtualenv -p python3 myenv

Activar o ambiente usando:

source myenv/bin/activate

Agora instalei os requisitos de .ficheiro TXT a usar:

pip3 install -r requirements.txt
A instalação foi bem sucedida e eu consegui importar a modulo.
 10
Author: janu777, 2021-01-28 20:17:53
pip install --user -r requirements.txt 

Ou

pip3 install --user -r requirements.txt 
 8
Author: user1460675, 2019-10-01 06:22:32

Tenta isto:

python -m pip install -r requirements.txt
 8
Author: Jema, 2021-01-28 20:18:31