2012-10-02 9 views
12

Quando si esegue uno script Python (facendo doppio clic su un file .py su Windows 7) ricevo un messaggio di errore Python: failed to set __main__.__loader__. Cosa fare?non è riuscito a impostare __main __.__ loader__ in Python

Maggiori dettagli:

  • Gli script funzionano su altre macchine.
  • L'unica versione di Python installata sulla macchina su cui gli script non funzionano è la 3.2.
  • Viene visualizzato lo stesso errore quando si tenta di eseguire lo script dalla shell di Windows (cmd).
  • Ecco un esempio per il contenuto di un file chiamato "hey.py" che non sono riuscito a correre sulla mia macchina:

    print('hey')

+2

Si può eseguire con 'C: \ Python32 \ python -v ' e vedere se si presentano dei moduli strani? Penso che alcuni moduli debbano installare un hook di importazione danneggiato. – nneonneo

+0

Stavo ricevendo lo stesso problema con Python 3.3.0. –

+0

@snakile, è il tuo Windows 7 - home edition? Penso che l'edizione home, che ha problemi con altre lingue, sia un problema. In caso contrario, provare a installare il language pack nel percorso file. – Qiao

risposta

9

Ho avuto lo stesso problema. Risulta che era perché il file è stato memorizzato in una directory con un nome non in inglese (ebraico nel mio caso). Assicurarsi che il percorso del file contenga solo lettere inglesi.

http://bugs.python.org/issue16218

+0

Nel mio computer - tutte le lingue sono funzionanti, ad eccezione del russo. Anche l'ebraico funziona. Ha qualcosa a che fare con cmd - non puoi stampare in un linguaggio non funzionante. Windows 7-64. – Qiao

+3

Perché mai avere un po 'di ebraico come parte del percorso causa ancora problemi in un'era unicode così moderna? Il popolo ebraico non ha sofferto abbastanza? – snakile

+1

Davvero non bello. Grazie per la risposta però. – judehall

0

Ho anche avuto questo problema. Come detto mottyg1, accade quando lo script python viene eseguito da una directory contenente caratteri non inglesi. Non posso però cambiare il nome della directory, e il mio script python doveva essere nella directory per poter eseguire manipolazioni sui nomi dei file. Quindi la mia soluzione era semplicemente spostare lo script in una cartella diversa e quindi passare nella directory contenente i file da modificare.

Quindi, per essere chiari, il problema è solo quando la directory contenente il file python ha caratteri non inglesi, ma python può ancora gestire tali caratteri nelle sue funzioni, almeno per quanto ho potuto dire.

+0

Io no sembra avere il problema su Linux. Incolperei Windows invece di Python. – JeromeJ

Problemi correlati