Foros del Web » Programando para Internet » Python »

Problema: Memory Error

Estas en el tema de Problema: Memory Error en el foro de Python en Foros del Web. Hola tengo un problema bastante importante con mi script en python, que no me deja continuar avanzando... EL script lo que hace el leer datos ...
  #1 (permalink)  
Antiguo 06/06/2014, 23:30
 
Fecha de Ingreso: octubre-2013
Mensajes: 59
Antigüedad: 9 años, 3 meses
Puntos: 0
Problema: Memory Error

Hola tengo un problema bastante importante con mi script en python, que no me deja continuar avanzando...

EL script lo que hace el leer datos de una PyTable bastante grande, y con ellos hace varias cosas: estadisticas, graficas etc etc.

El problema es que, al principio el script funcionaba sin problemas con PyTables no muy grandes, pero ahora, al manejar PyTables mas grande me aparece un Memory Error a mitad del proceso, y no me deja continuar.

Entonces, queria pedir ayuda y consejos para:

1. como puedo saber o como puedo analizar mi codigo, para saber en que partes se esta consumiendo mas memoria y tratar de arreglarlo.

2. me gustaria saber consejos o buenas praticas a la hora de tener que hacer calculos estadisticos o graficas etc a partir de datos de PyTables muy grandes. Yo hasta ahora lo que hacia era recoger los datos que me hacian falta en una lista X o otra Y para despues hacer operaciones o hacer graficas. No se si sera aqui donde tengo el problema.

Gracias!
  #2 (permalink)  
Antiguo 07/06/2014, 00:43
Principe_Azul
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema: Memory Error

Hola, aquí tenés un tema que creaste que es muy parecido a lo que ahora estás pidiendo ayuda, pero en este tema:

http://www.forosdelweb.com/f130/pasa...idget-1093049/

no respondiste más.
  #3 (permalink)  
Antiguo 07/06/2014, 00:49
Principe_Azul
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema: Memory Error

Aquí te dejo un pdf que te puede servir bastante:

PyTables - Procesando y analizando enormes cantidades de datos en Python


Buena suerte!!
  #4 (permalink)  
Antiguo 07/06/2014, 01:00
 
Fecha de Ingreso: octubre-2013
Mensajes: 59
Antigüedad: 9 años, 3 meses
Puntos: 0
Respuesta: Problema: Memory Error

Hola Principe,

Gracias por las respuestas, sobre todo por lo del PDF, tiene muy buena pinta.

Y sobre lo del otro post, decirte que son dos cosas bien diferentes:

Una cosa era cuando la GUI se me bloqueaba al ejecutar otros calculos, loops, etc, lo cual se arregla facil con el Threading.

El tema ahora es bien distinto, el tema ya no es el problema de bloqueo por estar calculando, el tema ahora es que, sencillamente el script no finaliza, devuelve el Memory Error, y ya esta.

Por eso estoy especialmente interesado en saber como puedo "analizar" el codigo para saber donde se esta cosumiendo mas memoria.

Pero, por supuesto, gracias por las ayudas que simpre aportan algo.

Saludos.
  #5 (permalink)  
Antiguo 07/06/2014, 01:14
Principe_Azul
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema: Memory Error

Muy bien!
Pero tengo pensado una forma de poder hacerlo, pero estás trabajando con alguna GUI? o donde se debe mostrar todo el contenido de la PyTable?

¿cuantas líneas debes procesar/analizar?

El método que se me ocurrió es muy probable que funcione :D
  #6 (permalink)  
Antiguo 07/06/2014, 01:23
 
Fecha de Ingreso: octubre-2013
Mensajes: 59
Antigüedad: 9 años, 3 meses
Puntos: 0
Respuesta: Problema: Memory Error

Hola de nuevo,

No no, por supuesto que no, la PyTable es muyyyyy grande, no podria mostrarla toda.

Basicamente solo se abre la pytable, y, segun ciertos criterios de seleccion, se escogen unos datos, y con esos datos se hacen cosas, media, standar deviation, barPlot, etc etc,pero nunca mostrar la pytable.

Cuando me refiero a abrir la pytable solo me refiero a
Código Python:
Ver original
  1. with openFile('miArchivo.h5','r') as f:
Todo esto, a medida que el script va avanzando, va funcionando, pero llega un punto, casi al final de todo el proceso, cuando estoy sacando los ultimos datos de la tabla y metiendolos en un numpy array, donde el script se para y lanza Memory Error.

Lo que me preocupa es que, si el problema es que estoy sacando demasiados datos de la tabla y almacenandolos....no se me ocurre otro modo de hacer esto, porque los datos, para ser procesados, de algun modo se tendran que almacenar....
  #7 (permalink)  
Antiguo 07/06/2014, 01:51
Principe_Azul
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema: Memory Error

Bien, perfecto.

Podés hacer lo siguiente (suponiendo que el error te da al intentar hacer un bucle que lea línea por línea):

Lo primero, es abrir el archivo, luego guardarlo en una variable, asegurate de no tener tantos programas abiertos, mientras menos tengas, mejor, no se si eso influya, pero por las dudas.
Luego cuando hacés el bucle para leer línea por línea, calculas la mitad de ese archivo o lo mejor sería que lea cada 2 o 3 millones de líneas, y vaya guardando en la misma variable ese valor, por ejemplo, supongamos que tenés un archivo de 9 millones de líneas bien?

bueno entónces leerías primero 3 millones y detendrías el bucle para evitar ese agotamiento de memoria, luego, detenés el bucle y liberás la variable que iba almacenando los datos de ese archivo, por último con la función seek() te podés desplazar de un x byte a otro para poder saber en donde quedaste y hasta donde comenzar a continuar, osea donde habías quedado antes.
Aquí te dejo una forma de hacerlo con la función seek():

http://chuwiki.chuidiang.org/index.p...eros_en_python

Si esto no resuelve tu problema, osea si tu problema es al intentar abrir el archivo y al ser tan grande python no puedo abrirlo por completo, entónces en ese caso, yo dividiría ese archivo en 2 o 3 archivos temporales, ya que al cerrar el programa, los mismos se borrarían.

Bueno estas son unas buenas formas de poder hacer posible lo que querés, pero sería mejor que pegaras un poco más de código para ver más detalladamente en que parte del código te da el error, osea al ver más código uno puede saber más certeza como solucionarlo.

Espero que esto te sirva y si no, seguí posteando que lo vamos a solucionar.
  #8 (permalink)  
Antiguo 07/06/2014, 02:35
 
Fecha de Ingreso: octubre-2013
Mensajes: 59
Antigüedad: 9 años, 3 meses
Puntos: 0
Respuesta: Problema: Memory Error

Mira, aqui te muestro un frangmento de codigo, este tipo de algoritmo es el que estoy utilizando para sacar datos de la tabla, es el mismo todo el timepo, pero cambiando los parametros dependiendo del caso.

Entonces las primeras veces, al principio del script funciona, pero hacia el final del script es cuando muestra el Memory Error.


Código Python:
Ver original
  1. def findGoodPages(pathToTable, pages, rows, columns, possibleValues):
  2.    
  3.     with openFile(pathToTable, 'r') as f:
  4.        
  5.         tab = f.getNode("/previous")
  6.        
  7.        
  8.     #Lo que necesito hacer es recorrer toda la pytable y seleccionar ciertos campos
  9.     #pero unicamente de las rows que cumplan ciertas condiciones
  10.  
  11.     #primero convierto las listas a diccionarios, esto aumenta la eficiencia en las busquedas
  12.         dpages = dict((i, None) for i in pages
  13.         drows = dict((i, None) for i in rows
  14.         dcolumns = dict((i, None) for i in columns
  15.         dpossibleValues = dict((i, None) for i in possibleValues
  16.        
  17.     #aqui guardare lo que necesito
  18.         result = []
  19.        
  20.         t1 = time.time()
  21.     #dpossibleValues guarda 800 posibles valores de un total de mas de 1000
  22.  
  23.         for i in dpossibleValues:
  24.            
  25.            
  26.             aux = [row['is_ok'] for row in tab.where("(value == i)") if row['page'] in dpages and row['page_row'] in drows and row['page_col'] in dcolumns]
  27.             result.append([i,format(np.array(aux).mean(), '.2f'), format(np.array(aux).std(), '.2f')])
  28.            
  29.         #en cada paso del loop borro
  30.             del aux
  31.        
  32.         return result
  #9 (permalink)  
Antiguo 07/06/2014, 03:01
Principe_Azul
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema: Memory Error

Bien gracias.

Probá este código:

Código Python:
Ver original
  1. def findGoodPages(pathToTable, pages, rows, columns, possibleValues):
  2.    
  3.     with openFile(pathToTable, 'r') as f:
  4.        
  5.         tab = f.getNode("/previous")
  6.        
  7.        
  8.     #Lo que necesito hacer es recorrer toda la pytable y seleccionar ciertos campos
  9.     #pero unicamente de las rows que cumplan ciertas condiciones
  10.  
  11.     #primero convierto las listas a diccionarios, esto aumenta la eficiencia en las busquedas
  12.         dpages = dict((a, None) for a in pages
  13.         drows = dict((b, None) for b in rows
  14.         dcolumns = dict((c, None) for c in columns
  15.         dpossibleValues = dict((d, None) for d in possibleValues
  16.        
  17.     #aqui guardare lo que necesito
  18.         result = []
  19.        
  20.         t1 = time.time()
  21.     #dpossibleValues guarda 800 posibles valores de un total de mas de 1000
  22.  
  23.         for i in dpossibleValues:
  24.            
  25.            
  26.             aux = [row['is_ok'] for row in tab.where("(value == i)") if row['page'] in dpages and row['page_row'] in drows and row['page_col'] in dcolumns]
  27.             result.append([i,format(np.array(aux).mean(), '.2f'), format(np.array(aux).std(), '.2f')])
  28.            
  29.         #en cada paso del loop borro
  30.             del aux
  31.        
  32.         return result
  33.  
  34.  
  35. raw_input()

Yo siempre recomiendo otra distintas variables, no creo que solucione el problema, pero es un punto a tener en cuenta.

Una pregunta, porque no lees el archivo con open() ?

pegame aquí por favor un par de líneas de lo que contiene la PyTabla, quizás puedas usar otros métodos para la lectura de esa tabla.
  #10 (permalink)  
Antiguo 07/06/2014, 06:58
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 15 años, 9 meses
Puntos: 292
Respuesta: Problema: Memory Error

Una pregunta de puro ignorante:


Cual seria la ventaja sobre PosgreeSQL que puede almacenar vectores e incluso leer archivos XML ? la velocidad de acceso dadad por el formato y estructura elegido para guardar los datos ?
__________________
Salu2!

Última edición por Italico76; 07/06/2014 a las 07:56
  #11 (permalink)  
Antiguo 07/06/2014, 12:42
 
Fecha de Ingreso: febrero-2011
Mensajes: 54
Antigüedad: 12 años
Puntos: 18
Respuesta: Problema: Memory Error

Existen varios módulos para medir el consumo de memoria.
Esto es con memprof:
Se usa añadiendo un decorador a la función a medir.
El 'plot = True' genera un bonito gráfico :P.

Código Python:
Ver original
  1. from memprof import memprof
  2.  
  3. @memprof(plot = True)
  4. def func():
  5.     a = [1] * (10 ** 6)
  6.     b = [2] * (2 * 10 ** 7)
  7.  
  8. func()

Saludos.
  #12 (permalink)  
Antiguo 07/06/2014, 22:59
 
Fecha de Ingreso: octubre-2013
Mensajes: 59
Antigüedad: 9 años, 3 meses
Puntos: 0
Respuesta: Problema: Memory Error

Hola gracias a todos, voy a trater de contester a todos mas o menos.

@Principe, creo que no entendi el codigo que propones, lo unico que cambia respecto a mi codigo es el raw_input del final?, no entiendo para que sirve esto, me podrias explicar mas. Y en cuanto a la estructura de la tabla, en cuanto tenga un momento te la presento pero, he leido e indagado mucho sobre pytables y la eficiencia y creo que no se puede hacer mucho mas efectivo de como yo lo estoy haciendo, aun asi cualquier ayuda es bien recibida!

@Italico, PyTables esta hecho para manejar grandes cantidades de datos de una forma rapida y efectiva, se han hecho varios Benchmarks donde se demuestra su superioridad. Aun asi, como base de datos, puede que le falte el hecho de que no es relacional. Esto a veces es un problema.

@sukoy, si yo estoy trabajando con un perfilador de codigo para tratar de ver donde esta mi problema de memoria, estoy utilizando memory_profiler, que tambien se usa simplemente poniendo el decorador @profile al inicio. Aun asi, voy a probar el tuyo porque memery_profiles me esta dando resultados un poco raros en una porcion de codigo muy simple. Y si me indicas donde puedo descargarme ese memprof que tu usas, para windows, seria genial.

Gracias a todos.....todavia sigo luchando con el Memory Error......
  #13 (permalink)  
Antiguo 07/06/2014, 23:00
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 17 años, 10 meses
Puntos: 1360
Respuesta: Problema: Memory Error

Ligeramente modificado.
Código Python:
Ver original
  1. def findGoodPages(pathToTable, pages, rows, columns, possibleValues):
  2.  
  3.     with openFile(pathToTable, 'r') as f:
  4.  
  5.         tab = f.getNode("/previous")
  6.  
  7.  
  8.         #Lo que necesito hacer es recorrer toda la pytable y seleccionar ciertos campos
  9.         #pero unicamente de las rows que cumplan ciertas condiciones
  10.  
  11.         #primero convierto las listas a conjuntos, esto aumenta la eficiencia en las busquedas
  12.         dpages = set(pages)
  13.         drows = set(rows)
  14.         dcolumns = set(columns)
  15.         dpossibleValues = set(possibleValues)                  
  16.  
  17.         #aqui guardare lo que necesito
  18.         result = []
  19.  
  20.         t1 = time.time()
  21.         #dpossibleValues guarda 800 posibles valores de un total de mas de 1000
  22.  
  23.         for i in dpossibleValues:
  24.             aux = []
  25.             for row in tab.where("(value == i)"):
  26.                 if (row['page'] in dpages) and (row['page_row'] in drows) and (row['page_col'] in dcolumns):
  27.                     aux.append(row['is_ok'])
  28.             aux = np.array(aux)
  29.             mean = aux.mean()
  30.             std = aux.std()
  31.             del aux
  32.             result.append((i, mean, std))
  33.         return result

Escalabilidad es un tema complejo y cada situación es diferente. En tu caso muchas cosas las haces a mano por falta de experiencia en PyTables.

Ejemplo sencillo en SQL:
Objetivo: Sumar todos los campos de una columna.

Lo que tratas de hacer:
Cargar la tabla en memoria. Poner en un arreglo toda la columna deseada. Sumar el arreglo.

Lo que se deberia de hacer:
Crear un query que te de la suma de la columna.

Y el mismo ejemplo puede ser para ordenar, agrupar, etc...

Ahora no se que tan grande sea tu tabla. 5GB? 50GB? 500GB? 2TB? 500TB? 2PB?
Si, 5GB se te hicieron muchos. Entonces tengo malas noticias.

Para optimizar un programa por lo regular uno hace lo siguiente:
1. Hacer profiling.
2. Encontrar el cuello de botella.
3. Remover cuello de botella.
4. Regresar al paso 1.

Optimizar un programa usualmente se hace por capas. Primero haces mas rapido esto, luego aquello, asi hasta que te das cuenta que tu programa mejoro bastante.
  #14 (permalink)  
Antiguo 07/06/2014, 23:37
 
Fecha de Ingreso: octubre-2013
Mensajes: 59
Antigüedad: 9 años, 3 meses
Puntos: 0
Respuesta: Problema: Memory Error

Razpeitia, gracias por la respuesta, pero tengo algunas cosas que decir que me gustaria que comentaras:

1: tu codigo hace exactamente lo mismo que el mio, esto esta perfecto, pero tu codigo usa mas lineas, y mi entender es mas dificil de leer.

2: por que, al principio, en lugar de usar diccionarios que son bastante eficientes, estas usando "set"?? eso influye en las busquedas?

3: no puedo extraer directamente la mean y std en la query, bueno, si que puedo haciendo mean([row['ok_page'] for row in.....]) pero eso implica recorrer la table una vez para mean, y otra vez para std ---> seria menos eficiente, en mi caso solo recorro la tabla una vez, guardo lo que necesito en aux, y ahi hago la mean y std. Creo que es bastante eficiente.

Por ultimo, al final hablas de hacer mas rapido esto, luego aquello etc....mi problema no es la velocidad es el consumo....estoy trabajando ahora con memprof....a ver que puedo sacar.

Gracias pr tu ayuda!!
  #15 (permalink)  
Antiguo 08/06/2014, 01:21
Principe_Azul
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema: Memory Error

Hola edanvar, bueno antes quiero pedirte disculpas, ese raw_input() no debería haber estado, no me di cuenta y lo copie.
Lo que hice en tu código es usar otras variables a, b, c y d, para no usar siempre la misma variable i.
Yo en realidad lo veo mala práctica y mal aprendiz trabajar con esos nombres de variables, no entiendo que tiene que ver las letras del abecedario con los nombres de variables que contienen valores, es mejor usar nombres descriptivos referidos al valor que van a contener en ellas, además para mi personalmente me hes más fácil de entender un código.

Es solo un consejo campeón.
Buena suerte!! y lamento no poder ayudarte más, pero se me quemaron los libros!!!
  #16 (permalink)  
Antiguo 09/06/2014, 05:26
 
Fecha de Ingreso: octubre-2013
Mensajes: 59
Antigüedad: 9 años, 3 meses
Puntos: 0
Respuesta: Problema: Memory Error

Lo ultimo que he hecho ha sido cambiar las fuciones tipo como las que he puesto arriba por generadores, que no almacenan en memoria, pero aun asi sigo con el problema de memoria.

Perfilar el codigo para ver donde se consume mas memoria es un proceso muy muy lento.
  #17 (permalink)  
Antiguo 09/06/2014, 05:30
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 15 años, 9 meses
Puntos: 292
Respuesta: Problema: Memory Error

Y ponerle mas RAM a ese equipo no ayudaria ? o dejarle mas disponible ?

En el peor de los casos..... memoria virtual
__________________
Salu2!
  #18 (permalink)  
Antiguo 09/06/2014, 06:04
 
Fecha de Ingreso: octubre-2013
Mensajes: 59
Antigüedad: 9 años, 3 meses
Puntos: 0
Respuesta: Problema: Memory Error

Italico, ponerle mas RAM no creo, con 8 va bastante sobrado.

Y lo de dejarle mas disponible o de memoria virtual no tengo ni idea de como se hace asi que agradeceria cualquier explicacion que me puedas dar.

Saludos.
  #19 (permalink)  
Antiguo 09/06/2014, 13:39
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 17 años, 10 meses
Puntos: 1360
Respuesta: Problema: Memory Error

Cita:
Iniciado por edanvar Ver Mensaje
1: tu codigo hace exactamente lo mismo que el mio, esto esta perfecto, pero tu codigo usa mas lineas, y mi entender es mas dificil de leer.
Que use mas o menos lineas de código no hace un código mas fácil o difícil de leer. El usar nombres descriptivos, separar bien los bloques de codigo (o espacios en blanco), en otras cosas lo hacen mas legible.

En tu caso tuve que expander la parte del for para ver bien que hacías. Ademas la parte donde usas np.array, lo que problablemente no sabes es que np.array hace por default una copia de la lista que le pases. Lo cual probablemente también te incremente el consumo de memoria. http://docs.scipy.org/doc/numpy/refe...mpy.array.html

Cita:
Iniciado por edanvar Ver Mensaje
2: por que, al principio, en lugar de usar diccionarios que son bastante eficientes, estas usando "set"?? eso influye en las busquedas?
Esto si es cuestión de gustos. Ademas que vi que estabas usando un diccionario como un set. Entonces solo use sets.

Cita:
Iniciado por edanvar Ver Mensaje
3: no puedo extraer directamente la mean y std en la query, bueno, si que puedo haciendo mean([row['ok_page'] for row in.....]) pero eso implica recorrer la table una vez para mean, y otra vez para std ---> seria menos eficiente, en mi caso solo recorro la tabla una vez, guardo lo que necesito en aux, y ahi hago la mean y std. Creo que es bastante eficiente.
Aqui tienes que poner en la balanza eficiencia vs uso de memoria. Tal vez recorrer la tabla 2 veces sea mas lento, pero realmente es mas eficiente en cuanto a la memoria? Esto tu lo tendrás que averiguar.

Cita:
Iniciado por edanvar Ver Mensaje
Por ultimo, al final hablas de hacer mas rapido esto, luego aquello etc....mi problema no es la velocidad es el consumo....estoy trabajando ahora con memprof....a ver que puedo sacar.
Como te dije arriba. Tienes que poner las cosas en la balanza.

Como te dije antes necesitas hacer profiling (o hacer mediciones) antes de optimizar. ¿Que tal si ese pedazo de código no es el que esta consumiendo mas memoria? ¿Que tal si es una función que mandas a llamar antes de esa? En otra parte completamente diferente.

Otra cosa no se que tantos datos sean. Pero lo que pones de 8,000 a 10,000 no son muchos datos.

Poner mas ram a la maquina es ciertamente otra solución. Especialmente cuando los precios por mas memoria están tan bajos.

Bueno, sin metricas, solo un pedacito de código y nada de datos, dudo mucho que te podamos ayudar. Buena suerte en lo que sea que trates de hacer.
  #20 (permalink)  
Antiguo 09/06/2014, 23:35
 
Fecha de Ingreso: octubre-2013
Mensajes: 59
Antigüedad: 9 años, 3 meses
Puntos: 0
Respuesta: Problema: Memory Error

Vaya pues gracias, no sabia lo de que los np.array hacen copia de toda la lista, por lo que he visto al hacer @profile si que es verdad que en esas partes el consumo aumenta.

Pero entonces me viene otra pregunta evidente: como hacer cosas como mean() o std() sin usar np.array de un modo facil??.
  #21 (permalink)  
Antiguo 11/06/2014, 08:40
 
Fecha de Ingreso: octubre-2013
Mensajes: 59
Antigüedad: 9 años, 3 meses
Puntos: 0
Respuesta: Problema: Memory Error

Bueno, por si a alguien mas le ayuda, despues de mucho perfilar el codigo, indagar por aqui y por alla etc....

Resulta que el problema esta en que, yo uso un PC windows-7 64-bit 8GB, PERO uso python(x,y) que segun parece es 32-bits, con lo cual, aunque tuviese 16GB, ese python 32 solo permita la utilizacion de poco mas de 3GB de RAM....

Cambiar a python 64 no creo que sea una opcion, ya que muchos de los modulos dejan de funcionar....

Si alguien tiene una idea mejor, me gustaria saberla
  #22 (permalink)  
Antiguo 11/06/2014, 09:08
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 15 años, 9 meses
Puntos: 292
Respuesta: Problema: Memory Error

Usar Python 64 bits pero la version de Linux con Cygwin o similar (mingw w64) ?
__________________
Salu2!
  #23 (permalink)  
Antiguo 12/06/2014, 01:16
 
Fecha de Ingreso: octubre-2013
Mensajes: 59
Antigüedad: 9 años, 3 meses
Puntos: 0
Respuesta: Problema: Memory Error

Italico76 no comprendo...yo trabajo en windows, sin posibilidad de pasar a linux o mac
  #24 (permalink)  
Antiguo 12/06/2014, 05:31
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 15 años, 9 meses
Puntos: 292
Respuesta: Problema: Memory Error

Hay interpretes bash de Linux para Windows..... traen compiladores de C y C++ y tambien hay paquetes de Python.... alguno podria estar "completo" ... no se

Sino tambien esta la opcion de un VMWARE o similar donde le pones Linux de 64 bits y dentro Python 64 bits completito
__________________
Salu2!
  #25 (permalink)  
Antiguo 12/06/2014, 07:51
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 17 años, 10 meses
Puntos: 1360
Respuesta: Problema: Memory Error

No se que otra librería ademas de PyTable y PyNum estes usando pero si existen sus versiones en 64bits para windows. http://www.lfd.uci.edu/~gohlke/pythonlibs/#pytables

Lo único que tienes que hacer es instalar y configurar python de 64 bits e instalar las librerías que necesitas.
  #26 (permalink)  
Antiguo 12/06/2014, 23:32
 
Fecha de Ingreso: octubre-2013
Mensajes: 59
Antigüedad: 9 años, 3 meses
Puntos: 0
Respuesta: Problema: Memory Error

@razpeitia,

Gracias, si eso tambien lo he estado mirando, el problema es que uso varias librerias.

Tipicas como numpy, matplotlib...etc esas si que no habria problema para sacarlas en 64bits, pero tambien tengo otras que, aunque no he buscado mucho, no se si sera posible encontrarlas como por ejemplo, para Excel (xlwt), para PDF (reportlab), las de la GUI PyQt4, etc etc.

Quiza la opcion de VMWARE que comenta Italico no este mal.

Gracias a todos!!

Etiquetas: ip, memory
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:19.