日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python中的wheel有什么用_什么是Python Wheels?为什么要学Python Wheels

發布時間:2025/3/20 python 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python中的wheel有什么用_什么是Python Wheels?为什么要学Python Wheels 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

Python .whl文件(或wheels)是Python中很少討論的一部分,但是它們對Python包的安裝過程非常重要。如果您已經使用pip安裝了Python包,那么很有可能是輪子(wheels)使安裝速度更快、效率更高了。

輪子是Python生態系統的一個組件,它有助于使包的安裝工作正常進行。它們允許更快的安裝和更穩定的包分發過程。

在本教程中,您將深入了解輪子是什么,它們提供了什么好處,以及它們是如何獲得吸引力并使使用Python變得更方便的。

輪子簡介

在學習如何將項目打包到輪子中之前,從用戶的角度了解使用輪子是什么樣子是很有幫助的??梢韵裢R粯釉诃h境中安裝一個Python包來開始這個實驗。

在這種情況下,安裝uWSGI 2.0.x版本:

1 $ python -m pip install 'uwsgi==2.0.*'

2 Collecting uwsgi==2.0.*

3 Downloading uwsgi-2.0.18.tar.gz (801 kB)

4 |████████████████████████████████| 801 kB 1.1 MB/s

5 Building wheels for collected packages: uwsgi

6 Building wheel for uwsgi (setup.py) ... done

7 Created wheel for uwsgi ... uWSGI-2.0.18-cp38-cp38-macosx_10_15_x86_64.whl

8 Stored in directory: /private/var/folders/jc/8_hqsz0x1tdbp05 ...

9 Successfully built uwsgi

10 Installing collected packages: uwsgi

11 Successfully installed uwsgi-2.0.18

要完全安裝uWSGI, pip需要經過幾個不同的步驟:

?在第3行,它下載一個名為uwsgi-2.0.18.tar.gz的TAR文件(tarball),該文件是用gzip壓縮的。

?在第6行,它接受tarball并通過調用setup.py構建一個.whl文件。

?在第7行,它將輪子標記為uWSGI-2.0.18-cp38-cp38-macosx_10_15_x86_64.whl。

?在第10行,它在構建了輪子之后安裝實際的包。pip檢索的tar.gz tarball是一個源分發包,或sdist,而不是一個輪子。在

某些方面,sdist是輪子的反義詞。源代碼發行版包含源代碼。這不僅包括Python代碼,還包括與包綁定的任何擴展模塊的源代碼(通常用C或c++編寫)。

對于源發行版,擴展模塊是在用戶端而不是開發人員端編譯的。源分發版還包含一個元數據包,位于名為.egg-info的目錄中。

該元數據有助于構建和安裝包,但用戶實際上并不需要使用它做任何事情。從開發人員的角度來看,當您運行以下命令時,會創建一個源分發包:

$ python setup.py sdist

現在嘗試安裝一個不同的包:chardet:

1 $ python -m pip install 'chardet==3.*'

2 Collecting chardet

3 Downloading chardet-3.0.4-py2.py3-none-any.whl (133 kB)

4 |████████████████████████████████| 133 kB 1.5 MB/s

5 Installing collected packages: chardet

6 Successfully installed chardet-3.0.4

您可以看到一個與uWSGI安裝明顯不同的輸出。

安裝chardet時直接從PyPI下載一個.whl文件。車輪名稱為chardet-3.0.4-py2.py3-none-any。whl遵循特定的命名約定,稍后您將看到。從用戶的角度來看,更重要的是,當pip在PyPI上找到一個兼容的滾輪時,并不存在構建階段。

從開發人員的角度來看,輪子是運行以下命令的結果:

$ python setup.py bdist_wheel

為什么uWSGI給你一個源分布,而chardet提供一個輪子?您可以通過查看PyPI上每個項目的頁面并導航到下載文件區域來了解原因。本節將向您展示pip在PyPI索引服務器上實際看到的內容:

由于項目的復雜性,uWSGI只提供了一個源分發版(uWSGI -2.0.18.tar.gz)。chardet同時提供了一個輪盤和一個源代碼發行版,但是如果與您的系統兼容,pip會更喜歡輪盤。稍后您將看到如何確定兼容性。

另一個用于輪子安裝的兼容性檢查示例是psycopg2,它為Windows提供了大量的車輪,但沒有為Linux或macOS客戶端提供任何輪子。這意味著,根據您的具體設置,pip安裝psycopg2可以獲取一個滾輪或源分發版。

為了避免這些類型的兼容性問題,一些包提供了多個輪子,每個輪子都針對特定的Python實現和底層操作系統。到目前為止,您已經看到了輪子和sdist之間的一些明顯區別,但更重要的是這些區別對安裝過程的影響。

輪子加速安裝

在上面,您看到了獲取預構建輪子的安裝和下載sdist的安裝的比較。

輪子使得Python包的端到端安裝速度更快,原因有兩個:

?在其他條件相同的情況下,輪子通常比源分發包更小,這意味著它們可以在網絡中更快地移動。

?直接從wheels安裝避免了從源分發版構建包的中間步驟。幾乎可以保證,安裝chardet只需uWSGI所需時間的一小部分。

然而,這是一種不公平的比較,因為chardet是一個明顯更小和更簡單的包。使用不同的命令,您可以創建一個更直接的比較,它將演示輪子造成的差異有多大。你可以通過-no-binary選項讓pip忽略它對車輪的傾斜:

$ time python -m pip install \

--no-cache-dir \

--force-reinstall \

--no-binary=:all: \

cryptography

這個命令計算加密包的安裝時間,告訴pip使用源分發包,即使有合適的輪可用。包括:all:使規則適用于密碼學及其所有依賴關系。

在我的機器上,從開始到結束大約需要32秒。不僅安裝要花費很長時間,而且構建加密還需要提供OpenSSL開發頭,并可用于Python。

現在可以重新安裝密碼學,但是這次要確保pip使用來自PyPI的wheels。因為pip更喜歡輪子,所以這類似于完全不帶參數調用pip install。但在這種情況下,你可以讓意圖顯式通過要求車輪-純二進制:

此選項僅花費4秒多一點的時間,即僅為密碼學及其依賴項使用源分發版時所用時間的八分之一。

總結

以上是生活随笔為你收集整理的python中的wheel有什么用_什么是Python Wheels?为什么要学Python Wheels的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 色婷婷在线影院 | 日日射天天干 | 色中文字幕在线观看 | 毛片一二三区 | 欧美精品黄色片 | 成人自拍视频在线 | 在线看的av网站 | 黄在线免费 | 91视频在线观看免费 | 久久99精品久久久久久琪琪 | 女人裸体又黄 | 国产成人三级在线观看视频 | 日本黄色xxxxx | 久久久久久影院 | jizz中国女人 | 二区三区在线观看 | 日韩精品电影在线 | 国产成人视屏 | 动漫玉足吸乳羞免费网站玉足 | 日韩第一页 | av男人的天堂在线观看 | 国产一区二区三区亚洲 | 亚洲精品免费在线观看视频 | 免费的av网站 | 亚洲免费在线视频 | 国产一区二区三区免费观看视频 | 一区视频在线免费观看 | 拔插拔插影库 | 非洲黑人狂躁日本妞 | 午夜一区二区三区免费观看 | 亚洲精品性视频 | 久草手机在线 | 日日碰狠狠添天天爽 | 亚洲精品乱码久久久久久蜜桃图片 | 午夜久 | 69av视频在线观看 | 午夜视频在线免费 | 久久精品无码av | 国产午夜在线一区二区三区 | 国产男人搡女人免费视频 | aa黄色大片| 亚洲国产成人精品女人 | 成人手机在线播放 | 日本韩国欧美一区 | 双性人bbww欧美双性 | 日韩少妇一区二区 | 日韩 欧美 亚洲 国产 | 国产中年熟女高潮大集合 | 精品久久久精品 | 欧美一级在线播放 | 菲律宾黄色片 | 国产奶头好大揉着好爽视频 | 精品人妻一区二区三区四区 | 性欧美极品另类 | 伊人久久99| 中文亚洲av片在线观看 | 精品国产无码在线观看 | 精品一区在线播放 | 香蕉色网 | 国产精品女同 | 亚洲清色| 成人精品电影 | 天堂av影院 | 亚洲欧美一二三 | 久久精品性| 青青国产在线观看 | 男人在线视频 | 久久久99国产精品免费 | 黑丝一区二区三区 | 天天成人 | jizz免费观看 | 中文天堂在线观看 | 日本三级吃奶头添泬无码苍井空 | 天堂久久爱 | 亚洲日本色 | 国产aⅴ精品一区二区三区久久 | 97人妻人人揉人人躁人人 | 极品白嫩的小少妇 | 精品一区二区三区在线播放 | 国产中文字幕一区 | 秋霞电影一区二区 | 中文字幕7| 熟女人妇 成熟妇女系列视频 | 国产午夜精品一区二区理论影院 | 人人爽爽人人 | 黄色片在线免费看 | 国产在线第一页 | 稀缺小u女呦精品呦 | 正在播放欧美 | 国产一级在线观看 | 玉丸(双性调教) | 91福利在线观看视频 | 天天天av | www.伊人.com| 日本阿v视频在线观看 | 男女作爱网站 | 伊人草 | 波多野结衣高清在线 | 亚洲九九 |