2 votos

Python ha dejado de funcionar y ahora me sale "Illegal instruction: 4".

Tengo un viejo iMac con High Sierra y uso la distribución Anaconda de Python 3.7. He estado usando Anaconda durante más de 2 años y ha funcionado bien. Tengo un código de prueba que he ejecutado más de 100 veces para asegurarme de que mi Python sigue funcionando después de hacer algo estúpido en mi ordenador. Hace una semana estaba tratando de conseguir un Python script para ejecutar y la entrada de algunos parámetros malos en el código. Esto pareció bloquear mi ordenador y sin pensarlo reinicié manualmente mi ordenador.

Ahora no consigo que Python funcione haga lo que haga. Antes de esto había ejecutado Python scripts usando Atom y VSCode. Ambos funcionaban bien y los comprobaba con mi código de prueba muchas veces. También ejecutaba Python desde la línea de comandos y también funcionaba bien. Ahora cuando intento ejecutar un script en Atom o VSCode no funciona. A veces me da un mensaje "Illegal instruction: 4". Y otras veces me sale "No se ha encontrado ningún módulo llamado vpython. Aunque he instalado vpython en mi máquina usando conda install vpython .

Cuando ejecuto mi código de prueba desde el terminal obtengo un retorno inmediato que dice "Instrucción ilegal: 4". Mi código de prueba no utiliza vpython.

He borrado y reinstalado el Anaconda Python dos veces. No tengo la máquina del tiempo funcionando en mi ordenador así que me gustaría solucionar este problema. ¿Alguien sabe por qué sigo recibiendo la instrucción ilegal 4 cuando se ejecuta desde la línea de comandos?

Detalles:

  • MacOS 10.13.6
  • Python:

    which python3
    /Users/myname/opt/anaconda3/bin/python3

Acabo de escribir un simple script y se ejecutó bien en la terminal. El script leía un número y lo imprimía de nuevo y también imprimía la versión de Python que estaba usando. El código fuente es:

num = int(input("Enter a number: "))    
print(num)
import sys 
print(sys.version)

Añadir cualquiera de estas tres líneas al anterior script provoca la salida ilegal de la instrucción 4.

import numpy as np
from scipy.optimize import curve_fit
import matplotlib.pyplot as plt

Así que parece ser algo debido a estos comandos de importación. Aunque el sistema de importación funciona bien.

0 votos

@jmh puede ejecutar una simple sentencia de impresión utilizando el Python interactivo en Terminal, invocado por python3 ? Para saber si Python funciona o no. Si funciona, necesitaríamos ver el script.

0 votos

@ankii Escribí un simple código de 4 líneas y funciona bien en la terminal. He editado mi respuesta e incluido las 4 líneas de código.

1 votos

Por favor, añade tu modelo de iMac (por ejemplo, iMac11,2; 3,2 GHz). Creo que el problema está resuelto: falta el soporte AVX de su procesador... .

2voto

john Puntos 11

He encontrado una solución, pero no estoy 100% seguro de que sea la respuesta completa. Mis códigos de prueba ahora funcionan bien. Volví a cargar con mucho cuidado la distribución de Anaconda para Python 3.7 y me aseguré de activar mi entorno virtual lo antes posible. Cuando Anaconda se carga, también carga muchos paquetes. Me di cuenta de que no cargaba numpy, aunque lo había hecho en el pasado. Sí cargó algo llamado numbpy, creo que era. De todos modos, asegurándome de que mi entorno virtual estaba activado, cargué numpy para mi entorno escribiendo:

conda install -n yourenvname [package]

También hice lo mismo con vpython. Ahora todo parece funcionar. Supongo que el problema era intentar importar un paquete que no había sido instalado correctamente. Estoy seguro de haber cometido la falta antes, pero no recuerdo haber visto nunca "Illegal instruction 4".

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X