Introduzione
Un errore di dipendenza di un modulo Odoo si verifica quando il sistema non riesce a installare o aggiornare un modulo perché uno o più moduli richiesti non sono presenti, non sono installati correttamente o sono dichiarati in modo errato.
Questo tipo di errore si manifesta di solito in queste situazioni:
- Durante l’installazione di un modulo
- Durante l’aggiornamento di un modulo
- Durante la migrazione del database
- Al momento del deploy di moduli personalizzati
Se le dipendenze non sono configurate correttamente, Odoo interrompe il processo per evitare comportamenti incoerenti o dati incongruenti nel sistema.
Questa guida descrive le ragioni più comuni degli errori di dipendenza e i passaggi pratici per correggerli in modo sicuro.
Che cosa si intende per dipendenza di modulo in Odoo?
Ogni modulo Odoo contiene un file __manifest__.py con una sezione depends:
{
'name': 'My Custom Module',
'depends': ['base', 'sale'],
}
In pratica significa:
- Il modulo richiede che base e sale siano installati
- Odoo tenterà di installarli automaticamente se mancanti
- Il modulo si appoggia ai modelli e alle funzionalità forniti da quei moduli
Se una di queste dipendenze manca o è dichiarata in modo errato, Odoo solleva un errore di dipendenza.
Cause comuni degli errori di dipendenza dei moduli in Odoo
1. Modulo richiesto mancante
Se il tuo modulo dipende da un altro modulo che non è installato, l’installazione non può procedere.
Esempio:
'depends': ['stock']
Se stock non è installato → l’installazione fallisce.
2. Nome modulo errato nel manifest
Se il nome della dipendenza è sbagliato:
'depends': ['sales']
Invece di:
'depends': ['sale']
Odoo non troverà il modulo e genererà un errore.
3. Dipendenze circolari
Quando:
- Il modulo A dipende dal modulo B
- E il modulo B dipende dal modulo A
Odoo non riesce a determinare l’ordine di installazione.
Le dipendenze circolari provocano il fallimento dell’installazione.
4. Modulo custom non presente nel percorso addons
Se la dipendenza è un modulo personalizzato ma non si trova nella addons_path configurata, Odoo non lo rileva.
5. Modulo installato ma non caricato correttamente
Se il modulo di dipendenza è stato installato parzialmente o ha fallito durante una precedente installazione, il sistema può considerarlo non disponibile.
6. Incompatibilità di versione tra moduli
Se un modulo personalizzato è stato sviluppato per una versione diversa di Odoo, possono nascere conflitti di dipendenza durante l’installazione o l’aggiornamento.
Come risolvere un errore di dipendenza di modulo in Odoo
Passo 1 – Leggi l’errore
Il messaggio di errore indica quasi sempre quale dipendenza manca o è problematica.
Esempio:
ModuleNotFoundError: No module named 'stock'
Oppure:
Unmet dependencies: sale_management
Passo 2 – Controlla il file manifest
Apri __manifest__.py e verifica:
- I nomi tecnici dei moduli siano corretti
- L’ortografia sia precisa
- Non ci siano virgole superflue o errori di sintassi
Confronta i nomi con quelli tecnici ufficiali presenti in Odoo.
Passo 3 – Installa le dipendenze mancanti
Vai in:
App → Cerca il modulo mancante → Installa
Se è un modulo custom, assicurati che sia:
- Presente nella cartella addons
- Dichiarato nella addons_path
- Visibile nel menu App
Passo 4 – Riavvia il server Odoo
Dopo aver corretto i problemi di dipendenza:
- Riavvia il servizio Odoo
- Aggiorna la lista delle app
- Riprova l’installazione
Passo 5 – Risolvi le dipendenze circolari
Se esistono dipendenze circolari:
- Estrai la logica condivisa in un terzo modulo
- Elimina dipendenze incrociate non necessarie
I moduli dovrebbero seguire una gerarchia chiara e unidirezionale.
Passo 6 – Verifica la configurazione di addons_path
Controlla il file di configurazione di Odoo:
addons_path = /percorso/odoo/addons,/percorso/custom/addons
Accertati che tutti i moduli richiesti si trovino in queste cartelle.
Come prevenire gli errori di dipendenza dei moduli
- Dichiarare sempre le dipendenze in modo esplicito
- Mantenere la struttura dei moduli pulita e modulare
- Evitare dipendenze circolari
- Usare i nomi tecnici corretti dei moduli
- Testare l’installazione in un ambiente di staging
- Documentare le relazioni tra moduli custom
Un’architettura di moduli ben progettata previene la maggior parte dei fallimenti legati alle dipendenze.
Come Dasolo organizza dipendenze di moduli chiare e sicure
Gli errori di dipendenza segnalano spesso gerarchie poco chiare o dipendenze nascoste tra componenti personalizzati. Man mano che l’ecosistema Odoo cresce, una gestione distratta delle dipendenze può trasformarsi rapidamente in un insieme di installazioni e aggiornamenti falliti.
In Dasolo evitiamo i conflitti di dipendenza concentrandoci su:
- Dichiarazioni di dipendenza sempre esplicite
- Confini netti tra i moduli
- Accoppiamento minimo tra moduli
- Eliminazione di riferimenti circolari
- Documentazione strutturata dei componenti custom
Un’architettura delle dipendenze pulita garantisce installazioni prevedibili e manutenzione sostenibile nel tempo per i progetti Odoo.
Conclusione
L’“errore di dipendenza di modulo” in Odoo nasce quando moduli richiesti sono assenti, dichiarati male o in conflitto durante installazioni o upgrade. Spesso il messaggio è chiaro, ma la causa radicata è una struttura modulare fragile.
Controllando con cura i manifest, mantenendo gerarchie di moduli ordinate e validando le dipendenze prima del deploy, gli sviluppatori possono evitare problemi ricorrenti. Una disciplina architetturale è fondamentale per ambienti Odoo stabili e scalabili.