Pipenv: membangun roda dengan pipenv?

Dibuat pada 7 Mar 2018  ·  3Komentar  ·  Sumber: pypa/pipenv

Saya ingin dapat menghasilkan roda untuk semua dependensi dalam Pipfile.lock sambil memanfaatkan verifikasi hash. Sebelum 11.1.2 Anda dapat melakukannya dengan:

pipenv lock -r > reqs.txt
pip wheel -r reqs.txt

_(#1417 bermasalah untuk alur kerja ini, tetapi selain itu berhasil)_

Dalam 11.1.2, hash telah dihapus dari output gaya persyaratan yang (afaik) berarti tidak ada cara untuk membuat/mengunduh roda yang diverifikasi hash dari file kunci.

Kasus penggunaan adalah untuk mengemas modul Python untuk pemasangan offline atau pemasangan tanpa alat kompilasi/pengembangan di server. Roda dapat dibangun, kemudian didistribusikan dan dipasang di lingkungan Python minimal.


Apakah fungsi ini yang Anda pertimbangkan untuk disertakan dalam proyek? Jika tidak, apakah ada cara untuk mendukung alur kerja ini lagi?

Komentar yang paling membantu

Untuk berjaga-jaga jika ada yang mencari solusi di sini, itu cukup mudah (dengan asumsi internal pipenv tidak berubah):

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)

Semua 3 komentar

tidak ada rencana untuk ini saat ini

ini terdengar seperti peluang bagus untuk alat pipenv-wheels .

Untuk berjaga-jaga jika ada yang mencari solusi di sini, itu cukup mudah (dengan asumsi internal pipenv tidak berubah):

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)
Apakah halaman ini membantu?
0 / 5 - 0 peringkat