WHL csomag formátuma
A Python Development ökoszisztémájában, ahol a hatékony csomag eloszlása döntő jelentőségű, a WHL (Wheel) fájlok a Python -csomagok megbízásának és gyorsan történő elosztására és telepítésére szolgáló standard megoldássá váltak.
Python kerék archívum információ
A WHL egy épített csomag formátuma a Python számára, amely tartalmazza az összes fájlt, amely az előre összeállított állapotban történő telepítéshez szükséges. Lényegében a WHL fájl egy ZIP Archívum , amelynek speciális könyvtárszerkezete és elnevezési konferenciája van, amely lehetővé teszi a Python csomagkezelőinek, hogy szoftvert telepítsenek anélkül, hogy az összeállítási folyamatnak a végfelhasználó rendszerén futtatnia kell. Jobb telepítési sebessége és megbízhatósága miatt ez a formátum általában sok python terméknél helyettesítette a régebbi.EGG formátumot és a forrás -eloszlást (.tar.gz).
A WHL fájlok evolúciója
2012 -ben a PEP 427 bejelentette a WHL formátumot, amelyet hivatalosan “kerekesnek” neveznek, mint az előző tojás formátum javítását. Daniel Holth létrehozta, hogy számos problémát rögzítsen a Python csomagolási ökoszisztémával. Amikor a PIP, a Python csomag telepítője beillesztette a kerék telepítési képességét az 1.4 -es verzióban, amelyet 2013 elején elérhetővé tettek, a formátum jelentősen felgyorsult. 2014 -re a nagy Python -csomagok elkezdték a kerékfájlok terjesztését, és ma ez a Python csomag eloszlásának de facto szabványává vált. A Python csomagolási ökoszisztéma fejlődésével a formátum folyamatosan fejlődik; A legfrissebb szabványokat a PEP 600 és a PEP 621 ismerteti.
A WHL fájlok felépítése
A WHL fájlok alapvetően ZIP -archívumok, amelyek egy meghatározott belső struktúrával rendelkeznek, amely a Python csomagolási előírásait követi. Egy WHL -fájlban megtalálható a forgalmazott Python modulok (.pyc fájlok), a csomag metaadatait és a csomag működéséhez szükséges bináris kiterjesztéseket. Maga a fájlnév egy szigorú konvenciót követ, amely fontos információkat kódol: csomagnév, verzió, python kompatibilitási címkék és célépítészet. Ez a strukturált megközelítés lehetővé teszi a Python csomagkezelői számára, hogy gyorsan meghatározzák, hogy a kerék kompatibilis -e a célrendszerrel anélkül, hogy ki kellene húznia annak tartalmát.
A WHL tömörítésének módszerei
A WHL fájlok ugyanazokat a tömörítési módszereket alkalmazzák, mint a szokásos ZIP fájlok, mivel ezek alapvetően ZIP archívumok. A deflate algoritmust, amely kiegyensúlyozza a tömörítési arányt és a dekompressziós sebességet, leggyakrabban használják a WHL fájlok tartalmának tömörítésére. Ez a módszer garantálja, hogy a csomagok gyorsan telepíthetők, miközben megőrzik a disztribúciós fájlméreteket. Ezek a fájlok kompatibilisek az olyan könyvtárakkal, mint a aspose.zip , amelyek megkönnyítik a WHL -csomagok kinyerését és generálását különféle tömörítési technikákkal, például deflate, deflate64TM, BZIP2 és mások.
WHL Archívum támogatott műveletei
Az olyan eszközökkel, mint a aspose.zip a python .net , a fejlesztők különféle módon manipulálhatják a WHL fájlokat. Kerékcsomagok készíthetők, tartalmak ellenőrizhetők, a fájlokat telepítés nélkül lehet kinyerni a WHL -ből, a metaadatok megváltoztathatók, és a módosított kerekek újracsomagolhatók. A Python csomag karbantartóknak, akiknek hibakeresésének kell lennie, a csomagokat az egyedi kontextushoz kell adaptálni, vagy a függőségek megvizsgálására, ezeket a tevékenységeket különösen hasznosnak találják. A WHL fájlok telepítéséhez, a forráseloszlások kerekekké történő konvertálásához és a kerékcsomagok érvényesítéséhez a Python standard eszközláncában szerepelnek, amely tartalmazza a PIP és a kerék eszközöket is.
WHL fájl - Belső struktúra
A WHL fájlok alapvetően ZIP -archívumok, amelyek egy meghatározott belső struktúrával rendelkeznek, amely a Python csomagolási előírásait követi. Egy WHL fájl belsejében találja:
- Összeállított Python modulok: Előzetesen összeállított .pyc fájlok, amelyek közvetlenül betölthetők összeállítás nélkül
- Csomag metaadatok: Információ a csomag szerzőjéről, verziójáról, függőségeiről és követelményeiről
- Bináris kiterjesztések: Platformspecifikus összeállított könyvtárak, amelyek a csomag funkcionalitásához szükségesek
- Strukturált elnevezési egyezmény: A kritikus információkat kódoló fájlnév:
- Csomagnév
- Verziószám
- Python kompatibilitási címkék
- Cél -architektúra (például Win_AMD64, Manylinux1_x86_64)
Ez a szabványosított belső szervezet magában foglalja:
- Gyökércsomag -tartalom: A tényleges python kód és erőforrások
- . Dist-info könyvtár: olyan metaadat fájlokat tartalmaz, mint a metaadatok, a kerék és a Record
- . Adatkönyvtár (Opcionális): Nem python adatfájlok és erőforrások tartják
Ez a strukturált megközelítés lehetővé teszi a csomagok gyors validálását és telepítését, miközben megőrzi a biztonságot a hash -ellenőrzés révén.
A WHL fájlok és támogatás népszerűsége
Hatékonysága és megbízhatósága miatt a WHL a Python csomagok előnyben részesített elosztási módszerévé vált. A kerékfájlok már szinte minden csomaghoz hozzáférhetők a Python csomag indexén (PYPI). Ezt a formátumot teljes mértékben támogatja a Python ökoszisztéma, olyan segédprogramokkal, mint például a PIP, amely a kerekek elsőbbséget élvez a forrás -eloszlás felett, ahol rendelkezésre állnak. A programozási környezettől függetlenül a Python fejlesztői mindig ezt a formátumot használják, mivel az összes fő operációs rendszerrel, beleértve a Windows, a MacOS -t és a Linux -ot is működik.
Példák a WHL fájlok használatára
A WHL fájlok elengedhetetlenek azoknak a Python fejlesztőknek, akik a csomagokat hatékonyan elosztják és telepítsék. A WHL fájlokkal való együttműködés programozottan lehetővé teszi a fejlesztők számára, hogy testreszabják a csomagkezelési munkafolyamatot. A következő kódpéldákban megvizsgáljuk, hogyan lehet könyvtárakat használni a WHL fájlok létrehozásához és kinyeréséhez, bemutatva a csomagok ellenőrzéséhez és módosításához szükséges technikákat. Ezek a példák segítenek megérteni, hogyan lehetne felhasználni a WHL fájlokat a Python fejlesztési projektjeiben a simább függőség kezelése és telepítése érdekében.
Create WHL via C#
using (var archive = new Archive())
{
archive.CreateEntry("entry_name1.dat", "input_file1.dat");
archive.CreateEntry("entry_name2.dat", "input_file2.dat");
archive.Save("result_archive.whl");
}
Compress and encrypt data file using Archive.Save method via C#
using (var whlFile = File.Open("EncrypedWithAES256.whl", FileMode.Create))
{
using (var source = File.Open("alice29.txt", FileMode.Open, FileAccess.Read))
{
using (var archive = new Archive(new ArchiveEntrySettings(null, new AesEncryptionSettings("p@s$", EcryptionMethod.AES256))))
{
archive.CreateEntry("alice29.txt", source);
archive.Save(whlFile);
}
}
}
![]() | ![]() | ![]() |
---|
További információk a zip-archivákról
Az emberek azt kérdezték
1. Hogyan telepíthetek egy WHL fájlt a Python -ba?
A WHL fájl telepítéséhez használja a PIP parancsot: PIP Install FileName.Whl
. Ez a parancs minden platformon működik, és ez a szokásos módszer a kerékcsomagok Pythonba történő telepítésére. Ha virtuális környezetben dolgozik, ellenőrizze, hogy először aktiválja -e.
2. Készíthetek saját WHL -fájlokat terjesztésre?
Igen, létrehozhat WHL fájlokat a Python Build Tools segítségével. Először győződjön meg arról, hogy a projektnek megfelelő setup.py vagy pyproject.toml fájl van, majd futtassa a python -m build -Wheel
-t a projektkönyvtárban. Ez egy WHL fájlt generál a Dist/ Directory -ban, amelyet eloszthat vagy feltölthet a PYPI -hez.
3. A WHL fájlok platform-specifikusak?
A csomagtartalomtól függ. A ‘Pure Python’ kerekek (a ‘py3’ címkével jelölve) minden platformon működnek. Az összeállított kiterjesztéseket tartalmazó kerekek (platformspecifikus címkékkel, például a „Win_AMD64” vagy a „Manylinux” jelöléssel) platformspecifikusak, és csak a megfelelő rendszereken fognak működni. Ez az oka annak, hogy egyes csomagok több kerék fájlokat kínálnak a különböző platformokhoz.