自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

piwheels是如何為樹莓派用戶節(jié)省時間的

系統(tǒng) Linux
通過為樹莓派提供預(yù)編譯的 Python 包,piwheels 項(xiàng)目為用戶節(jié)省了大量的時間和精力。

[[313053]]

通過為樹莓派提供預(yù)編譯的 Python 包,piwheels 項(xiàng)目為用戶節(jié)省了大量的時間和精力。

piwheels 自動為 Python 包索引 PiPi 上的所有項(xiàng)目構(gòu)建 Python wheels(預(yù)編譯的 Python包),并使用了樹莓派硬件以確保其兼容性。這意味著,當(dāng)樹莓派用戶想要使用 pip 安裝一個 Python 庫時,他們會得到一個現(xiàn)成編譯好的版本,并保證可以在樹莓派上良好的工作。這使得樹莓派用戶更容易入門并開始他們的項(xiàng)目。

Piwheels logo

當(dāng)我在 2018 年 10 月寫 piwheels:為樹莓派提供快速 Python 包安裝時,那時 piwheels 項(xiàng)目已經(jīng)有一年了,并且已經(jīng)證明了其為樹莓派用戶節(jié)省大量時間和精力。但當(dāng)這個項(xiàng)目進(jìn)入第二年時,它為樹莓派提供了預(yù)編譯的 Python 包做了更多工作。

Raspberry Pi 4

它是怎么工作的

樹莓派的主要操作系統(tǒng) Raspbian 預(yù)配置使用了 piwheels,所以用戶不需要做任何特殊的事情就可以使用 piwheels。

配置文件(在 /etc/pip.conf)告訴 pip 使用 piwheels.org附加索引,因此 pip 會首先查找 PyPI,然后查找 piwheels。piwheels 的網(wǎng)站被托管在一個樹莓派 3 上,該項(xiàng)目構(gòu)建的所有 wheels 都托管在該樹莓派上。它每月提供 100 多萬個軟件包——這對于一臺 35 美元的電腦來說還真不賴!

除了提供網(wǎng)站服務(wù)的主樹莓派以外,piwheels 項(xiàng)目還使用其他七個樹莓派來構(gòu)建軟件包。其中一些運(yùn)行 Raspbian Jessie,為 Python 3.4 構(gòu)建 wheels;另外一些運(yùn)行 Raspbian Stretch 為 Python 3.5 構(gòu)建;還有一些運(yùn)行 Raspbian Buster 為 Python 3.7 構(gòu)建。該項(xiàng)目通常不支持其他 Python 版本。還有一個“合適的服務(wù)器”——一臺運(yùn)行 Postgres 數(shù)據(jù)庫的虛擬機(jī)。由于樹莓派 3 只有 1GB 的內(nèi)存,所以(非常大的)數(shù)據(jù)庫不能在其上很好地運(yùn)行,所以我們把它移到了虛擬機(jī)上。帶 4GB 內(nèi)存的樹莓派 4 可能是合用的,所以我們將來可能會用到它。

這些樹莓派都在“派云”中的 IPv6 網(wǎng)絡(luò)上——這是一項(xiàng)由總部位于劍橋的托管公司 Mythic Beasts 提供的卓越服務(wù)。

Mythic Beasts hosting service

下載和統(tǒng)計趨勢

每次下載 piwheels 文件時,它都會記錄在數(shù)據(jù)庫中。這提供了對什么包最受歡迎以及人們使用什么 Python 版本和操作系統(tǒng)的統(tǒng)計。我們沒有太多來自用戶代理的信息,但是因?yàn)闃漭?1/Zero 的架構(gòu)顯示為 “armv6”,樹莓派 2/¾ 顯示為 “armv7”,所以我們可以將它們區(qū)分開來。

截至 2019 年 12 月中旬,從 piwheels 下載的軟件包超過 1400 萬個,僅 2019 年就有近 900 萬個。

自項(xiàng)目開始以來最受歡迎的 10 個軟件包是:

  1. pycparser(821,060 個下載)
  2. PyYAML(366,979 個下載)
  3. numpy(354,531 個下載)
  4. cffi(336,982 個下載)
  5. MarkupSafe(318,878 個下載)
  6. future(282,349 個下載)
  7. aiohttp(277,046 個下載)
  8. cryptography(276,167 個下載)
  9. home-assistant-frontend(266,667 個下載)
  10. multidict(256,185 個下載)

請注意,許多純 Python 包,如 urllib3,都是作為 PyPI 上的 wheels 提供的;因?yàn)檫@些是跨平臺兼容的,所以通常不會從 piwheels 下載,因?yàn)?PyPI 優(yōu)先。

隨著時間的推移,我們也看到了使用哪些 Python 版本的趨勢。這里顯示了 Raspbian Buster 發(fā)布時從 3.5 版快速升級到了 Python 3.7:

Data from piwheels on Python versions used over time

你可以在我們的這篇 統(tǒng)計博文 看到更多的統(tǒng)計趨勢。

節(jié)省的時間

每個包構(gòu)建都被記錄在數(shù)據(jù)庫中,并且每個下載也被存儲。交叉引用下載數(shù)和構(gòu)建時間顯示了節(jié)省了多少時間。一個例子是 numpy —— 最新版本大約需要 11 分鐘來構(gòu)建。

迄今為止,piwheels 項(xiàng)目已經(jīng)為用戶節(jié)省了總計超過 165 年的構(gòu)建時間。按照目前的使用率,piwheels 項(xiàng)目每天可以節(jié)省 200 多天。

除了節(jié)省構(gòu)建時間,擁有預(yù)編譯的 wheels 也意味著人們不必安裝各種開發(fā)工具來構(gòu)建包。一些包需要其他 apt 包來訪問共享庫。弄清楚你需要哪一個可能會很痛苦,所以我們也讓這一步變得容易了。首先,我們找到了這個過程,在博客上記錄了這個過程。然后,我們將這個邏輯添加到構(gòu)建過程中,這樣當(dāng)構(gòu)建一個 wheels 時,它的依賴關(guān)系會被自動計算并添加到包的項(xiàng)目頁面中:

numpy dependencies

piwheels 的下一步是什么?

今年,我們推出了項(xiàng)目頁面(例如,numpy),這是一種非常有用的方式,可以讓人們以人類可讀的方式查找項(xiàng)目信息。它們還使人們更容易報告問題,例如 piwheels 中缺少一個項(xiàng)目,或者他們下載的包有問題。

2020 年初,我們計劃對 piwheels 項(xiàng)目進(jìn)行一些升級,以啟用新的 JSON 應(yīng)用編程接口,這樣你就可以自動檢查哪些版本可用,查找項(xiàng)目的依賴關(guān)系,等等。

下一次 Debian/Raspbian 升級要到 2021 年年中才會發(fā)生,所以在那之前我們不會開始為任何新的 Python 版本構(gòu)建 wheels。

你可以在這個項(xiàng)目的博客上讀到更多關(guān)于 piwheels 的信息,我將在 2020 年初在那里發(fā)表一篇 2019 年的綜述。你也可以在推特上關(guān)注 @piwheels,在那里你可以看到每日和每月的統(tǒng)計數(shù)據(jù)以及任何達(dá)到的里程碑。

當(dāng)然,piwheels 是一個開源項(xiàng)目,你可以在 GitHub 上看到整個項(xiàng)目源代碼。

 

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2022-12-26 17:33:43

Jupyterpython

2011-02-23 16:07:44

MySQL

2022-05-02 17:52:53

Python編程語言

2020-04-27 11:11:54

數(shù)據(jù)湖數(shù)據(jù)人工智能

2024-05-13 12:36:51

Python代碼

2023-08-13 16:46:36

2023-09-18 11:32:37

Python計算

2020-03-10 10:12:14

CIO自動化人力資源

2022-04-13 13:51:12

DevSecOps工具開發(fā)管道

2020-02-27 15:53:01

開發(fā)技能代碼

2022-12-19 15:25:22

Linux命令

2011-09-29 11:33:35

Linux

2022-05-23 15:38:28

Windows 11Windows 10微軟

2011-07-29 10:32:09

Linux管理員命令行

2011-08-01 09:36:53

Linux管理員

2018-07-09 09:00:00

開源網(wǎng)絡(luò)管理操作系統(tǒng)

2009-08-24 08:59:10

IT白領(lǐng)網(wǎng)絡(luò)應(yīng)用

2018-07-03 10:33:51

服務(wù)器運(yùn)維Linux

2021-06-11 08:00:00

人工智能航空工具

2019-11-08 10:27:11

Linux鍵盤快捷鍵
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號