piwheels:Raspberry Pi的快速Python软件包安装

关于Python编程语言的一大优点是PyPI (Python软件包索引),该库托管了第三方库,任何人都可以使用它安装并获得对现有功能的访问权限,而无需从头开始。 这些库是社区成员编写的便捷实用程序,在Python标准库中找不到。 但是它们的工作方式几乎相同:您将它们导入代码中,并可以访问未编写的函数和类。

跨平台问题

尝试分发库以供其他人使用跨平台时出现问题。 标准是创建称为Python wheels的内置发行版 虽然纯Python库自动跨平台兼容,但必须针对每种操作系统,Python版本和系统架构分别构建以C / C ++实现的库。 因此,如果一个库想要同时支持Windows,MacOS和Linux(适用于32位和64位计算机以及 Python 2.7、3.4、3.5和3.6),则将需要24个不同的版本! 一些软件包可以执行此操作,但其他软件包则需要用户根据源代码构建软件包,这可能需要很长时间,并且通常很复杂。

树莓派和手臂

Raspberry Pi运行Linux时,它与常规PC的体系结构不同,而是Arm,而不是Intel。 这意味着Linux轮子无法正常工作,Raspberry Pi用户必须从源代码构建,直到piwheels项目在去年实现为止。 Piwheels是一个开源项目,旨在为PyPI上的每个软件包构建Raspberry Pi平台轮。

piwheels:Raspberry Pi的快速Python软件包安装_第1张图片

软件包在Raspberry Pi 3硬件上本地编译,并托管在英国的Mythic Beasts提供的数据中心中,该中心将Cloud Pis作为其托管服务的一部分。 piwheels网站以兼容点子的 Web服务器配置托管这些轮子,因此Raspberry Pi用户可以轻松使用它们。 Raspbian Stretch甚至预先配置为使用piwheels.org作为PyPI的附加索引。

wheel堆

piwheels项目(几乎)完全在Raspberry Pi硬件上运行:

    • Raspberry Pi Web服务器托管wheel文件,并将作业分发给生成器Pis。
  • 数据库服务器
    • 所有软件包信息都存储在Postgres数据库中 。
    • 主日志构建尝试和下载。
  • 建筑商
    • 为Builder Pis提供了要尝试的生成作业,并且它们与数据库进行通信。
    • PyPI上的待办事项包积压工作已使用了大约20个Raspberry Pi。
    • 需要较少数量的Pi来跟上新版本。 目前,有3个Raspbian Jessie(Python 3.4)和2个Raspbian Stretch(Python 3.5)。

该数据库服务器最初是Raspberry Pi,但是当数据库太大时又移至另一台服务器。

piwheels:Raspberry Pi的快速Python软件包安装_第2张图片

节省时间

每月从piwheels.org下载大约500,000个软件包。

每次使用piwheel构建软件包或由用户下载软件包时,其状态信息(包括构建持续时间)都会记录在数据库中。 因此,可以计算使用预编译的软件包节省了多少时间。

在服务运行的10个月中,已节省了25年以上的构建时间。

非常适合项目

需要Python库的Raspberry Pi项目教程通常包含诸如“此步骤需要几个小时”之类的警告,但由于piwheel的原因,这不再是正确的。 Piwheels使制造商和开发人员可以轻松地直接投入他们的项目,而不会因等待安装软件而陷入困境。 令人惊叹的库只需要点子即可安装 无需等待编译。

Piwheels具有适用于NumPy,SciPy,OpenCV, Keras甚至Google的机器学习框架Tensorflow的轮子 。 这些库非常适合家庭项目 ,包括带有相机模块的图像和面部识别。 为了获得启发,请关注PyImageSearch上的Raspberry Pi类别(这是我最喜欢的Raspberry Pi博客之一 )。

piwheels:Raspberry Pi的快速Python软件包安装_第3张图片

在该项目的博客和Raspberry Pi博客上阅读有关piwheel的更多信息, 在GitHub上查看源代码 ,并访问piwheels网站 。 如果要为该项目做出贡献,请检查缺少的包标记,并查看是否可以成功构建其中之一。

翻译自: https://opensource.com/article/18/10/piwheels-python-raspberrypi

你可能感兴趣的:(piwheels:Raspberry Pi的快速Python软件包安装)