2012-10-02 11 views
12

Al ejecutar cualquier script de Python (al hacer doble clic en un archivo .py en Windows 7) recibo un mensaje de error Python: failed to set __main__.__loader__. ¿Qué hacer?no se pudo establecer __main __.__ loader__ en Python

Más detalles:

  • Las secuencias de comandos funcionan en otras máquinas.
  • La única versión de Python instalada en la máquina en la que no funcionan los scripts es 3.2.
  • Me sale el mismo error al intentar ejecutar el script desde el shell de Windows (cmd).
  • He aquí un ejemplo del contenido de un archivo llamado "hey.py" que no pude correr en mi máquina:

    print('hey')

+2

¿Se puede ejecutar con 'C: \ Python32 \ python -v ' y ver si aparecen módulos extraños? Creo que algunos módulos deben instalar un gancho de importación roto. – nneonneo

+0

Estaba teniendo el mismo problema con Python 3.3.0. –

+0

@snakile, ¿es su Windows 7 - home edition? Creo que la edición hogareña, que tiene problemas con otros idiomas, es un problema. Si no es así, intente instalar el paquete de idioma que se encuentra en su ruta de archivo. – Qiao

Respuesta

9

que tenían el mismo problema. Resulta que fue porque el archivo se almacenó en un directorio con un nombre que no está en inglés (hebreo en mi caso). Asegúrese de que la ruta del archivo solo contenga letras en inglés.

http://bugs.python.org/issue16218

+0

En mi computadora, todos los languanges funcionan, excepto el ruso. El hebreo también funciona. Tiene algo que ver con cmd: no puede imprimir en un idioma que no funciona. Windows-7-64. – Qiao

+3

¿Por qué tener un poco de hebreo como parte del camino todavía causa problemas en una era moderna sin codificación? ¿Acaso el pueblo judío no ha sufrido lo suficiente? – snakile

+1

Realmente no es genial. Gracias por la respuesta sin embargo. – judehall

0

también he tenido este problema. Como mottyg1 dijo, sucede cuando la secuencia de comandos python se ejecuta desde un directorio que contiene caracteres no ingleses. No obstante, no puedo cambiar el nombre del directorio, y mi secuencia de comandos python necesitaba estar en el directorio para realizar manipulaciones en los nombres de los archivos. Así que mi solución fue simplemente mover el script a una carpeta diferente y luego pasar el directorio que contiene los archivos a cambiar.

Para que quede claro, el problema es solo cuando el directorio que contiene el archivo python tiene caracteres no ingleses, pero python aún puede manejar dichos caracteres en sus funciones, al menos hasta donde he podido saber.

+0

Yo no parece tener el problema en Linux. Culparía a Windows en lugar de a Python. – JeromeJ

Cuestiones relacionadas