我希望能够在利用哈希验证的同时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
内部没有改变):