ハッシュ検証を利用しながら、 Pipfile.lock
ですべての依存関係のホイールを生成できるようにしたいと思います。 11.1.2より前では、次の方法でこれを実現できました。
pipenv lock -r > reqs.txt
pip wheel -r reqs.txt
_(#1417はこのワークフローでは問題がありましたが、それ以外の場合は機能しました)_
11.1.2では、要件スタイルの出力からハッシュが削除されました。これは、(afaik)は、ロックファイルからハッシュ検証済みホイールをビルド/ダウンロードする方法がないことを意味します。
ユースケースは、オフラインインストールまたはサーバー上のコンパイル/開発ツールなしのインストール用にPythonモジュールをパッケージ化することです。 ホイールは、最小限のPython環境で構築、配布、およびインストールできます。
この機能をプロジェクトに含めることを検討しますか? そうでない場合は、このワークフローを再度サポートする方法はありますか?
現時点ではこれについての計画はありません
ただし、これはpipenv-wheels
ツールにとって絶好の機会のように思えます。
誰かがここで解決策を探す場合に備えて、それは非常に簡単です( pipenv
内部が変更されないと仮定します):
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)
最も参考になるコメント
誰かがここで解決策を探す場合に備えて、それは非常に簡単です(
pipenv
内部が変更されないと仮定します):