Eu gostaria de poder gerar rodas para todas as dependências em um Pipfile.lock
enquanto aproveitava a verificação de hash. Antes de 11.1.2, você poderia fazer isso com:
pipenv lock -r > reqs.txt
pip wheel -r reqs.txt
_(#1417 foi problemático para este fluxo de trabalho, mas por outro lado funcionou)_
Na versão 11.1.2, os hashes foram removidos da saída de estilo de requisitos, o que (afaik) significa que não há como construir/baixar rodas verificadas por hash de um arquivo de bloqueio.
O caso de uso é empacotar módulos Python para instalações offline ou instalações sem ferramentas de compilação/desenvolvimento no servidor. As rodas podem ser construídas, distribuídas e instaladas em um ambiente Python mínimo.
É esta funcionalidade que você consideraria incluir no projeto? Se não, existe alguma maneira de oferecer suporte a esse fluxo de trabalho novamente?
não há planos para isso no momento
esta parece ser uma grande oportunidade para uma ferramenta pipenv-wheels
, no entanto.
Caso alguém procure aqui uma solução, é bem fácil (assumindo que os componentes internos de pipenv
não mudam):
from pipenv.utils import convert_deps_to_pip
with open('Pipfile.lock') as f:
deps = json.load(f)['default']
# remove local project which wouldn't have a hash
for k, v in list(deps.items()):
if v.get('path') == '.':
del(deps[k])
path_to_requirements_file_with_hashes = convert_deps_to_pip(deps)
Comentários muito úteis
Caso alguém procure aqui uma solução, é bem fácil (assumindo que os componentes internos de
pipenv
não mudam):