Pipenv: Hashes gerados durante o bloqueio não correspondem à instalação

Criado em 8 jul. 2018  ·  3Comentários  ·  Fonte: pypa/pipenv

Descrição do problema

Os pacotes falharam ao instalar do Pipfile ( pipenv install ), mas conseguiram instalar depois de especificar seu nome

Resultado esperado

Os pacotes são instalados.

Resultado atual

Um erro é gerado sobre hashes não correspondentes. Se um nome de pacote for especificado, ele instala e diz "Como já está instalado, estamos confiando neste pacote sem verificar seu hash".

Passos para replicar

Não detalhado
screenshot 2018-07-09 at 00 46 51
screenshot 2018-07-09 at 00 47 09

Saída detalhada:

>  pipenv install numpy --verbose
Creating a virtualenv for this project...
Pipfile: /home/pi/testing_dir/Pipfile
Using /usr/bin/python3.5m (3.5.3) to create virtualenv...
⠋Running virtualenv with interpreter /usr/bin/python3.5m
Using base prefix '/usr'
New python executable in /home/pi/.local/share/virtualenvs/testing_dir-WDGBnYYm/bin/python3.5m
Also creating executable in /home/pi/.local/share/virtualenvs/testing_dir-WDGBnYYm/bin/python
Installing setuptools, pip, wheel...done.
Setting project for testing_dir-WDGBnYYm to /home/pi/testing_dir

Virtualenv location: /home/pi/.local/share/virtualenvs/testing_dir-WDGBnYYm
Installing numpy...
⠙Installing 'numpy'
$ "/home/pi/.local/share/virtualenvs/testing_dir-WDGBnYYm/bin/pip" install   --verbose    "numpy" -i https://pypi.org/simple --exists-action w
[ snip ]
Installing collected packages: numpy

Successfully installed numpy-1.14.5
Cleaning up...

Adding numpy to Pipfile's [packages]...
Pipfile.lock not found, creating...
Locking [dev-packages] dependencies...
Locking [packages] dependencies...
using sources: [{'name': 'pypi', 'url': 'https://pypi.org/simple', 'verify_ssl': True}]
Using pip: -i https://pypi.org/simple

                          ROUND 1                           
Current constraints:
  numpy (from -r /tmp/pipenv-fw9u0ln7-requirements/pipenv-c8uwffst-constraints.txt (line 2))

Finding the best candidates:
  found candidate numpy==1.14.5 (constraint was <any>)
Finding secondary dependencies:
  numpy==1.14.5             requires numpy==1.14.5; python_version != "3.1.*" and python_version != "3.0.*" and python_version != "3.3.*" and python_version != "3.2.*" and python_version >= "2.7"

New dependencies found in this round:
  adding ['numpy', '==1.14.5', '[]']
Removed dependencies in this round:
Unsafe dependencies in this round:
------------------------------------------------------------
Result of round 1: not stable

                          ROUND 2                           
Current constraints:
  numpy==1.14.5 (from -r /tmp/pipenv-fw9u0ln7-requirements/pipenv-c8uwffst-constraints.txt (line 2))

Finding the best candidates:
  found candidate numpy==1.14.5 (constraint was ==1.14.5)

Finding secondary dependencies:
  numpy==1.14.5             requires numpy==1.14.5; python_version != "3.1.*" and python_version != "3.0.*" and python_version != "3.3.*" and python_version != "3.2.*" and python_version >= "2.7"
------------------------------------------------------------
Result of round 2: stable, done

Updated Pipfile.lock (5a67c1)!
Installing dependencies from Pipfile.lock (5a67c1)...
Installing 'numpy==1.14.5 --hash=sha256:07379fe0b450f6fd6e5934a9bc015025bb4ce1c8fbed3ca8bef29328b1bc9570 [long list of hashes]'
$ "/home/pi/.local/share/virtualenvs/testing_dir-WDGBnYYm/bin/pip" install   --verbose  --no-deps  -r "/tmp/pipenv-m7n5vxhw-requirements/pipenv-s6f0at97-requirement.txt" --require-hashes -i https://pypi.org/simple --exists-action w
Created temporary directory: /tmp/pip-ephem-wheel-cache-ntah_q6a
Created temporary directory: /tmp/pip-install-75w412mp
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: numpy==1.14.5 in /home/pi/.local/share/virtualenvs/testing_dir-WDGBnYYm/lib/python3.5/site-packages (from -r /tmp/pipenv-m7n5vxhw-requirements/pipenv-s6f0at97-requirement.txt (line 1)) (1.14.5)
  Since it is already installed, we are trusting this package without checking its hash. To ensure a completely repeatable environment, install into an empty virtualenv.
Cleaning up...

Comentários muito úteis

@techalchemy Adicionar a fonte pinwheels também resolveu o mesmo problema que eu estava tendo. Existe documentação sobre por que as fontes adicionais são necessárias? Estou me perguntando por que não é incluído automaticamente ao executar inicialmente pipenv lock .

Todos 3 comentários

Você está usando um pi de framboesa, o que significa que não pode usar o arquivo de bloqueio de uma máquina x86. Como você construiu seu arquivo de bloqueio?

No seu caso, você precisa adicionar uma fonte adicional ao seu pipfile:

[[source]]
url = "https://pypi.org/simple"
name = "pypi"
verify_ssl = true

[[source]]
url = "https://www.piwheels.org/simole"
name = "piwheels"
verify_ssl = true

[packages]
numpy = {version = "*", index = "piwheels"}

[dev-packages]

[requires]
python_version = "3.5"

Se você continuar a ter problemas, preencha o modelo de problema. Está lá para agilizar nossa capacidade de identificar coisas que estão dando errado. Obrigado pelo relato e espero ter ajudado

Eu não tinha um arquivo de bloqueio na pasta. Mas adicionar a fonte piwheels funciona, obrigado!

@techalchemy Adicionar a fonte pinwheels também resolveu o mesmo problema que eu estava tendo. Existe documentação sobre por que as fontes adicionais são necessárias? Estou me perguntando por que não é incluído automaticamente ao executar inicialmente pipenv lock .

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

konstin picture konstin  ·  3Comentários

jacebrowning picture jacebrowning  ·  3Comentários

jakul picture jakul  ·  3Comentários

xi picture xi  ·  3Comentários

erinxocon picture erinxocon  ·  3Comentários