Pipenv: 用 pipenv 造轮子?

创建于 2018-03-07  ·  3评论  ·  资料来源: pypa/pipenv

我希望能够在利用哈希验证的同时Pipfile.lock中的所有依赖项生成轮子。 在 11.1.2 之前,您可以通过以下方式完成此操作:

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

_(#1417 对这个工作流程有问题,但除此之外它有效)_

在 11.1.2 中,从需求样式的输出中删除了哈希,这(afaik)意味着无法从锁定文件构建/下载经过哈希验证的轮子。

用例是打包 Python 模块以进行离线安装或在服务器上不使用编译/开发工具进行安装。 可以在最小的 Python 环境中构建、分发和安装轮子。


您是否考虑在项目中包含此功能? 如果没有,有没有办法再次支持这个工作流程?

最有用的评论

以防万一有人在这里寻找解决方案,这很容易(假设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)

所有3条评论

目前没有这方面的计划

不过,这听起来像是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)
此页面是否有帮助?
0 / 5 - 0 等级

相关问题

jeschkies picture jeschkies  ·  50评论

k4nar picture k4nar  ·  82评论

hynek picture hynek  ·  101评论

Diggsey picture Diggsey  ·  107评论

sachinjain024 picture sachinjain024  ·  47评论