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... .
0 votos
Sería útil utilizar un comprobador estático como éste: github.com/Python/mypy . Posiblemente usted dividió una palabra y ahora muestra el error. Tenga en cuenta que en
import sys print(sys.version)
- print no puede estar en la misma línea que la palabra clave import, se marca como error al comprobarlo con mypy.0 votos
Import sys y las sentencias print estaban en líneas diferentes. Cuando las pegué en mi pregunta se fusionaron.