.PYD

PYD-bestand

Python extension module (Windows)
Stel een vraag
SNEL ANTWOORD

Een .pyd-bestand is een gecompileerde Python-extensiemodule voor Windows - technisch gezien een DLL die native C/C++-code bevat die Python importeert als een normale module. Je opent het niet rechtstreeks; Python laadt het automatisch wanneer je een pakket gebruikt dat het nodig heeft. Als je een foutmelding „ImportError: DLL load failed” ziet, installeer dan het pakket opnieuw met pip voor jouw exacte Python-versie en architectuur.

Ontwikkelaar: Python Software Foundation (CPython); built on Microsoft's PE/DLL format Categorie: Ontwikkelaarsbestanden Open standaard MIME: application/octet-stream
OPENT OP Windows
Gerelateerd: .DO · .MD · .HEX · .XSD

Op deze pagina

19k+ extensies geïndexeerd
Laatst beoordeeld op Jun 29, 2026

Niet zeker wat uw bestand is?

Sleep een bestand naar onze identificatietool - we lezen alleen de eerste bytes om het formaat te benoemen.

Identificeer een bestand

Wat is het PYD-bestandsformaat?

Python dynamische modules worden opgeslagen als .pyd-bestanden op Windows-systemen. Een .pyd-bestand is een Windows DLL in PE (Portable Executable) binair formaat, gekenmerkt door het exporteren van een PyInit_<modulename> ingangspunt dat de interpreter aanroept bij import. .pyd-modules bevatten bibliotheken die door andere Python-applicaties kunnen worden gebruikt; dynamische bibliotheken maken snellere codelading en applicatiemodulariteit mogelijk. In tegenstelling tot .pyc en .pyo bytecode-bestanden, zijn .pyd-bestanden specifiek voor Windows - het .so formaat vervult dezelfde rol op Linux en macOS.

.pyd-bestanden bevatten gecompileerde Python-extensiemodules. Modules bevatten een of meer namespaces, en Python-programma's die dergelijke modules gebruiken, kunnen verwijzen naar functies in die modules. Modules kunnen door meerdere Python-applicaties worden gebruikt. Moderne builds bevatten een ABI-tag in de bestandsnaam - bijvoorbeeld cp312-win_amd64.pyd - waardoor het bestand wordt gekoppeld aan een specifieke CPython-versie en bit-architectuur. Het maken en distribueren van .pyd-modules wordt doorgaans afgehandeld door build-tools zoals Cython of setuptools.

Beveiliging & veiligheid

RISICO: MEDIUM

Een .pyd is native uitvoerbare code die Python in-process uitvoert zonder sandbox, dus een kwaadaardige .pyd kan alles doen wat je Python-programma kan. De praktische risico's: (1) een .pyd die in een map wordt geplaatst die Python doorzoekt, kan een import kapen (DLL/PYD search-order hijacking), en (2) het downloaden van individuele .pyd-bestanden van willekeurige sites om een fout te „herstellen” is een vector voor malware - installeer altijd het juiste pakket van PyPI met pip. .pyd-bestanden binnen legitieme via pip geïnstalleerde pakketten zijn normaal. Behandel een onverwachte, niet-ondertekende .pyd in Downloads of een projectmap met achterdocht en scan deze.

Formaatdetails

in een notendop
VOLLEDIGE NAAMPython extension module (Windows)ook bekend als Python dynamic module, Compiled Python extension
ONTWIKKELAARPython Software Foundation (CPython); built on Microsoft's PE/DLL formatsinds Late 1990s - Python on Windows has loaded extension modules from .pyd (a renamed .dll) since the Python 1.x/2.0 era
MIME-TYPEapplication/octet-stream
TYPEWindows PE (Portable Executable) DLL die een Python init-functie blootstelt - gecompileerd binair bestand
STANDAARDOpen · royaltyvrij
GERELATEERD.do.md.hex.xsd
MAGIC BYTES · BESTANDSSIGNATUUR
OFFSET
0001
HEX
4D5A
ASCII
MZ
Een .pyd is letterlijk een Windows DLL, dus het begint met de MZ DOS-stub en bevat een „PE\0\0” (50 45 00 00) handtekening op de offset opgeslagen in e_lfanew (0x3C). Het verschilt alleen van een gewone DLL doordat het een Python module-init-functie exporteert genaamd PyInit_<modulename> (Python 3) of init<modulename> (Python 2). De DLL-vlag (bit 0x2000) is ingesteld in het veld COFF Characteristics.

Programma's die PYD-bestanden openen

Windows4 apps
Python (CPython) - the loader Open-source Je opent een .pyd niet rechtstreeks. Python importeert het: 'import modulename'. Als dit mislukt, installeer dan het bijbehorende pakket opnieuw: 'pip install --force-reinstall packagename'.
pip (package manager) Open-source Installeer/repareer het pakket waar de .pyd bij hoort voor jouw exacte Python-versie: 'pip install --upgrade --force-reinstall packagename'. Verplaats .pyd-bestanden niet handmatig.
Dependencies (lucasg) Open-source Diagnoseer 'DLL load failed': open de .pyd om te zien welke afhankelijke DLL's (bijv. een VC++ runtime) ontbreken op het systeem.
Ghidra Open-source Alleen voor ontwikkelaars/reverse-engineers: importeer de .pyd voor volledige disassemblage/decompilatie van de native code (het is een PE-binair bestand).

Technische details

diepe specificaties
ContainerformaatWindows PE (Portable Executable) - dezelfde binaire container als `.dll` en `.exe` bestanden
Magic bytes`MZ` (0x4D 0x5A) op offset 0 (DOS stub); PE-handtekening op de offset opgeslagen op 0x3C
BytevolgordeLittle-endian
Belangrijk geëxporteerd symbool`PyInit_<modulename>` (Python 3) of `init<modulename>` (Python 2) - het importsysteem van CPython roept deze functie aan om de module te initialiseren
ABI-bestandsnaamtagBuilds met versietags gebruiken het patroon `name.cpXYZ-win_amd64.pyd`; bijvoorbeeld `cp312-win_amd64` is bedoeld voor CPython 3.12 op 64-bit Windows
PlatformAlleen Windows; het equivalent voor Linux en macOS is een gedeeld object `.so`
MIME-type`application/octet-stream`; ook geregistreerd als `application/vnd.microsoft.portable-executable`
Typische bestandsgrootte20 KB - verschillende MB; grote native bibliotheken (bijv. NumPy- of SciPy-componenten) kunnen tientallen MB bereiken
CompressieGeen - ruwe PE-secties, geen ingebouwde compressie
Code-ondertekeningOptionele Authenticode (PE) digitale handtekening; integriteit is anders niet geverifieerd (native machinecode)
Interpreter-compatibiliteitMoet exact overeenkomen met de CPython-versie, bit-architectuur (32/64-bit) en ABI-tag; een niet-overeenkomend bestand veroorzaakt `ImportError` bij import
Build-toolchainMeestal gecompileerd uit C, C++ of Cython-broncode via setuptools `ext_modules`, CMake/scikit-build of CFFI
UitgebrachtLate 1990s - Python on Windows has loaded extension modules from .pyd (a renamed .dll) since the Python 1.x/2.0 era
Laatste versieTracks CPython; the per-version ABI tag (e.g. cp312-win_amd64) determines compatibility, current CPython 3.13 (2024)
Open standaardJa · royaltyvrij
Specificatiedocs.python.org

PYD conversies

Community V&A

gevraagd door gebruikers
Stel een korte vraag
Krijg hulp van mensen die met PYD-bestanden werken. Wees specifiek - vermeld uw systeem en softwareversie.
Geen account nodig · antwoorden meestal binnen een dag

Nog geen vragen - wees de eerste om iets te vragen over PYD-bestanden.

Veelgestelde vragen

Wat is een .pyd-bestand?
Een gecompileerde Python-extensiemodule voor Windows - technisch gezien een DLL die native (meestal C/C++) code bevat die Python kan importeren als een gewone module. Dit is hoe snelle pakketten zoals NumPy hun gecompileerde onderdelen leveren.
Hoe open ik een .pyd-bestand?
Je opent het niet rechtstreeks - het is gecompileerde binaire code, geen script. Python laadt het automatisch wanneer je een pakket importeert dat het gebruikt. Om het te inspecteren, kan een ontwikkelaar het disassembleren met Ghidra; om het te repareren, installeer je het bijbehorende pakket opnieuw met pip.
Hoe herstel ik 'ImportError: DLL load failed' voor een .pyd?
Meestal is het pakket gebouwd voor een andere Python-versie/architectuur, ontbreekt er een afhankelijke runtime (installeer de Microsoft Visual C++ Redistributable), of is het corrupt. Installeer het opnieuw voor jouw exacte Python: 'pip install --force-reinstall packagename', en zorg dat de bit-architectuur van je Python overeenkomt met het pakket.
Is een .pyd hetzelfde als een DLL?
Ja - een .pyd gebruikt het identieke Windows PE/DLL-formaat. Het enige verschil is dat een .pyd een Python module-init-functie (PyInit_<name>) exporteert, waardoor Python het als een module kan importeren.
Kan ik een .pyd converteren naar .py-broncode?
Nee. Een .pyd is gecompileerde machinecode; de originele Python/C-broncode kan niet worden hersteld, alleen ruw worden gedisassembleerd. Haal in plaats daarvan de broncode uit de officiële repository van het pakket.
Is een .pyd-bestand een virus?
Niet inherent - de meeste .pyd-bestanden zijn legitieme onderdelen van geïnstalleerde Python-pakketten. Maar omdat het native code is die Python zonder sandbox uitvoert, moet je een onverwacht .pyd-bestand (vooral een die is gedownload om een fout te „herstellen”) met achterdocht behandelen; installeer pakketten alleen van PyPI via pip en scan onbekende bestanden.

Referenties

1Python docs - Building C and C++ Extensions on Windowsdocs.python.org
2Python docs - Extending Python with C or C++docs.python.org

Blijf ontdekken

door de database

Populaire extensies deze week

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.PARTPartial Download File
4.DATProgram Data File (generic)
5.BINCD/DVD Disc Image (BIN/CUE)
6.EXEWindows Executable (Portable Executable)
7.RPMSGRestricted Permission Message
8.NOMEDIAAndroid No-Media Marker File
9.MDMarkdown Document
10.TXTPlain Text File

Gerelateerde extensies

.DOStata Do-File
.MDMarkdown Document
.HEXIntel HEX File
.XSDXML Schema Definition
.MAPSource Map (JavaScript / CSS)
.CONFIGConfiguration File

Gratis bestandstools

Een bestandsidentificatie en afbeeldingsconverter in de browser - alles draait op uw eigen apparaat.

Open de gereedschapskist

Blader door bestandsextensies A-Z