model - instalar - jupyter anaconda python
Error de carga del paquete en Anaconda y Spyder (1)
Tengo tres archivos de edición Python 2.7 en Spyder 3.1.4 en Anaconda 4.3.1
(1). TestClass.py :Just define a class
import numpy as np
class TestClass:
def getArray(self):
return np.zeros((3,4));
(2). a1.py
from TestClass import *;
tt=TestClass();
(3). a2.py
#just a empty python file
Cuando "runfile" "a1.py" en Spyder, se creó una instancia TestClass tt, y ejecuto el siguiente código en la consola IPython de Spyder:
tt.getArray()
Out[9]:
array([[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.]])
Funciona correctamente, pero después de ejecutar el archivo a2.py (un archivo vacío) en Spider y volver a ejecutar "tt.getArray ()" en la consola IPython de Spyder, aparece el error:
tt.getArray () Traceback (última llamada más reciente):
Archivo "", línea 1, en tt.getArray ()
Archivo "TestClass.py", línea 6, en getArray return np.zeros ((3,4));
AttributeError: el objeto ''NoneType'' no tiene ningún atributo ''ceros''. El numpy se perdió, en mi experiencia cualquier operador de "runfile" en Spyder dará como resultado un numpy perdido. Cualquier código sobre "tt" no puede escribir en a2.py porque tt ya este paquete importado falta al ejecutar un nuevo archivo. ¿Es esto un error? ¿O Spyder, Ipython necesita configurar o configurar un parámetro? ¿O el comando "runfile" en spyder necesita un parámetro adicional?
Me he vuelto loco con este error, por favor dime dónde me equivoqué.
Debido a que Spyder tiene la propiedad "User Module Relode (UMR)", la función "runfile" ejecuta un script, Spyder recargará todos los módulos creados por el usuario.
En mi entorno, Spyder vuelve a cargar TestClass pero no vuelve a cargar numpy, y TestClass bounded numpy se descarga, por lo que "runfile" puede causar que los módulos de los usuarios no sean válidos.
En Tools-> Preferences-> Python Interpreter podemos cerrar UMR