ImportError: nessun modulo chiamato builtin


8

Sto eseguendo il porting della mia applicazione Python da Python 2 a Python 3. Poiché Python-3 fornisce utilità 2to3che converte il codice Python-2 in Python-3. import builtins dando errore come

ImportError: No module named builtins

Qualche idea per risolvere questo problema?

Risposte:


10

Risolto un errore simile in una situazione separata installando il pacchetto future.

sudo pip install future

Non è chiaro se l'errore si verifica quando si esegue 2to3 o quando si tenta di eseguire il codice risultante. Se lo è quando si esegue 2to3, è probabile che stia effettivamente utilizzando python2(impostazione predefinita) e quindi se non è stato installato future, builtinsmancherà. Allo stesso modo se si sta tentando di eseguire il codice risultante con python2lo stesso errore potrebbe verificarsi.


2

Lo 2to3strumento genera codice compatibile solo con Python 3.

Probabilmente lo vedrai perché stai eseguendo il codice convertito in Python 2.

Se vuoi che il tuo codice sia compatibile con Python 2 e 3, puoi invece farlo:

try:
    import builtins
except ImportError:
    import __builtin__ as builtins
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.