.PYD

File PYD

Python extension module (Windows)
Fai una domanda
RISPOSTA RAPIDA

Un file .pyd è un modulo di estensione Python compilato per Windows - tecnicamente una DLL contenente codice nativo C/C++ che Python importa come un normale modulo. Non si apre direttamente; Python lo carica automaticamente quando si utilizza un pacchetto che lo richiede. Se compare l'errore «ImportError: DLL load failed», reinstalla il pacchetto con pip per la tua esatta versione di Python e architettura.

Sviluppatore: Python Software Foundation (CPython); built on Microsoft's PE/DLL format Categoria: File di sviluppo Standard aperto MIME: application/octet-stream
SI APRE SU Windows
Correlati: .DO · .MD · .HEX · .XSD

In questa pagina

19k+ estensioni indicizzate
Ultima revisione Jun 29, 2026

Non sei sicuro di cosa sia il tuo file?

Trascina qualsiasi file nel nostro identificatore - leggiamo solo i primi byte per dare un nome al formato.

Identifica un file

Che cos'è il formato di file PYD?

I moduli dinamici Python vengono salvati come file .pyd sui sistemi Windows. Un file .pyd è una DLL di Windows in formato binario PE (Portable Executable), distinta dall'esportazione di un punto di ingresso PyInit_<modulename> che l'interprete chiama all'importazione. I moduli .pyd contengono librerie che possono essere utilizzate da altre applicazioni Python; le librerie dinamiche consentono un caricamento del codice più rapido e la modularità dell'applicazione. Contrariamente ai file bytecode .pyc e .pyo, i file .pyd sono specifici per Windows - il formato .so svolge lo stesso ruolo su Linux e macOS.

I file .pyd contengono moduli di estensione Python compilati. I moduli contengono uno o più namespace e i programmi Python che utilizzano tali moduli possono fare riferimento alle funzioni in essi contenute. I moduli possono essere utilizzati da più applicazioni Python. Le build moderne includono un tag ABI nel nome del file - ad esempio, cp312-win_amd64.pyd - vincolando il file a una specifica versione di CPython e architettura. La creazione e la distribuzione di moduli .pyd è solitamente gestita da strumenti di build come Cython o setuptools.

Sicurezza e incolumità

RISCHIO: MEDIUM

Un .pyd è codice eseguibile nativo che Python esegue nel processo senza sandbox, quindi un .pyd malevolo può fare tutto ciò che può fare il tuo programma Python. I rischi pratici: (1) un .pyd inserito in una cartella cercata da Python può dirottare un'importazione (DLL/PYD search-order hijacking), e (2) scaricare singoli file .pyd da siti casuali per «riparare» un errore è un vettore di malware - reinstalla sempre il pacchetto corretto da PyPI con pip. I file .pyd all'interno di pacchetti legittimi installati tramite pip sono normali. Tratta con sospetto un .pyd inaspettato e non firmato nella cartella Download o in quella di un progetto e scansionalo.

Dettagli del formato

in sintesi
NOME COMPLETOPython extension module (Windows)anche noto come Python dynamic module, Compiled Python extension
SVILUPPATOREPython Software Foundation (CPython); built on Microsoft's PE/DLL formatdal Late 1990s - Python on Windows has loaded extension modules from .pyd (a renamed .dll) since the Python 1.x/2.0 era
TIPO MIMEapplication/octet-stream
TIPODLL Windows PE (Portable Executable) che espone una funzione di inizializzazione Python - binario compilato
STANDARDAperto · royalty-free
MAGIC BYTES · FIRMA DEL FILE
OFFSET
0001
HEX
4D5A
ASCII
MZ
Un .pyd è letteralmente una DLL di Windows, quindi inizia con lo stub DOS MZ e contiene una firma «PE\0\0» (50 45 00 00) all'offset memorizzato in e_lfanew (0x3C). Differisce da una DLL ordinaria solo perché esporta una funzione di inizializzazione del modulo Python chiamata PyInit_<modulename> (Python 3) o init<modulename> (Python 2). Il flag DLL (bit 0x2000) è impostato nel campo COFF Characteristics.

Programmi che aprono file PYD

Windows4 apps
Python (CPython) - the loader Open-source Non si apre un .pyd direttamente. Python lo importa: «import nome_modulo». Se fallisce, reinstalla il pacchetto: «pip install --force-reinstall nomepacchetto».
pip (package manager) Open-source Reinstalla o ripara il pacchetto a cui appartiene il .pyd per la tua esatta versione di Python: «pip install --upgrade --force-reinstall nomepacchetto». Non spostare i file .pyd a mano.
Dependencies (lucasg) Open-source Diagnostica l'errore «DLL load failed»: apri il .pyd per vedere quali DLL dipendenti (ad esempio un runtime VC++) mancano nel sistema.
Ghidra Open-source Solo per sviluppatori/reverse-engineer: importa il .pyd per il disassemblaggio o la decompilazione completa del suo codice nativo (è un binario PE).

Dettagli tecnici

specifiche approfondite
Formato contenitoreWindows PE (Portable Executable) - lo stesso contenitore binario dei file `.dll` e `.exe`
Magic bytes`MZ` (0x4D 0x5A) all'offset 0 (stub DOS); firma PE all'offset memorizzato in 0x3C
Ordine dei byteLittle-endian
Simbolo esportato chiave`PyInit_<modulename>` (Python 3) o `init<modulename>` (Python 2) - il sistema di importazione di CPython chiama questa funzione per inizializzare il modulo
Tag ABI nel nome fileLe build con tag di versione usano lo schema `nome.cpXYZ-win_amd64.pyd`; ad esempio `cp312-win_amd64` è destinato a CPython 3.12 su Windows a 64 bit
PiattaformaSolo Windows; l'equivalente per Linux e macOS è un oggetto condiviso `.so`
Tipo MIME`application/octet-stream`; registrato anche come `application/vnd.microsoft.portable-executable`
Dimensione tipica del file20 KB - diversi MB; le librerie native di grandi dimensioni (es. componenti NumPy o SciPy) possono raggiungere decine di MB
CompressioneNessuna - sezioni PE grezze, nessuna compressione integrata
Firma del codiceFirma digitale Authenticode (PE) opzionale; l'integrità è altrimenti non verificata (codice macchina nativo)
Compatibilità interpreteDeve corrispondere all'esatta versione di CPython, all'architettura (32/64 bit) e al tag ABI; un file non corrispondente genera `ImportError` all'importazione
Toolchain di buildIn genere compilato da sorgenti C, C++ o Cython tramite `ext_modules` di setuptools, CMake/scikit-build o CFFI
RilasciatoLate 1990s - Python on Windows has loaded extension modules from .pyd (a renamed .dll) since the Python 1.x/2.0 era
Ultima versioneTracks CPython; the per-version ABI tag (e.g. cp312-win_amd64) determines compatibility, current CPython 3.13 (2024)
Standard apertoSì · royalty-free
Specificadocs.python.org

Conversioni PYD

Domande e risposte della community

chiesto dagli utenti
Fai una domanda veloce
Ottieni aiuto da persone che lavorano con i file PYD. Sii specifico - includi il tuo sistema e la versione del software.
Nessun account necessario · risposte solitamente entro un giorno

Ancora nessuna domanda - sii il primo a chiedere informazioni sui file PYD.

Domande frequenti

Cos'è un file .pyd?
Un modulo di estensione Python compilato per Windows - tecnicamente una DLL contenente codice nativo (solitamente C/C++) che Python può importare come un modulo ordinario. È il modo in cui pacchetti veloci come NumPy distribuiscono le loro parti compilate.
Come si apre un file .pyd?
Non si apre direttamente - è un binario compilato, non uno script. Python lo carica automaticamente quando si importa un pacchetto che lo utilizza. Per ispezionarlo, uno sviluppatore può disassemblarlo con Ghidra; per ripararlo, occorre reinstallare il pacchetto proprietario con pip.
Come risolvo l'errore «ImportError: DLL load failed» per un .pyd?
Solitamente il pacchetto è stato creato per una versione/architettura di Python diversa, manca un runtime dipendente (installa Microsoft Visual C++ Redistributable) o è corrotto. Reinstallalo per la tua esatta versione di Python: «pip install --force-reinstall nomepacchetto» e assicurati che l'architettura di Python corrisponda a quella del pacchetto.
Un .pyd è uguale a una DLL?
Sì - un .pyd utilizza l'identico formato Windows PE/DLL. L'unica differenza è che un .pyd esporta una funzione di inizializzazione del modulo Python (PyInit_<nome>), che è ciò che permette a Python di importarlo come modulo.
Posso convertire un .pyd in codice sorgente .py?
No. Un .pyd è codice macchina compilato; il sorgente originale Python/C non può essere recuperato, solo approssimativamente disassemblato. Ottieni invece il sorgente dal repository ufficiale del pacchetto.
Un file .pyd è un virus?
Non intrinsecamente - la maggior parte dei file .pyd sono parti legittime di pacchetti Python installati. Ma poiché si tratta di codice nativo che Python esegue senza sandbox, tratta con sospetto un .pyd inaspettato (specialmente se scaricato per «risolvere» un errore); installa i pacchetti solo da PyPI tramite pip e scansiona i file sconosciuti.

Riferimenti

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

Continua a esplorare

nel database

Migliori estensioni della settimana

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

Estensioni correlate

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

Strumenti file gratuiti

Un identificatore di file e convertitore di immagini nel browser - tutto viene eseguito sul tuo dispositivo.

Apri la cassetta degli attrezzi

Sfoglia le estensioni dei file A-Z