Hola Kiko y Alberto:
El problema es que el pysqlite va integrado en el python 2.7
He creado e entorno virtual con virtualenv y la salida del código es la
misma
sys.version_info(major=2, minor=7, micro=9, releaselevel='final', serial=0)
pySQLite: 2.6.0
SQLite: 3.8.7.1
registros 833
fin
Como el código importaba wx y usar wx en entornos virtuales en
complicado, he hecho un código que ejecutase la consulta en la base de
datos, con los mismos parámetros de conexión.
El código es este:
--------------------------------------------------
import sys
import sqlite3 as sqlite
print sys.version_info
print "pySQLite: ", sqlite.version
print "SQLite: ", sqlite.sqlite_version
path = "basededatos.sqlite"
conexion = sqlite.connect(path)
cursor = conexion.cursor()
cursor.execute("PRAGMA cache_size=200000")
cursor.execute('PRAGMA encoding="UTF-8";')
sql="""SELECT...."""
cursor.execute(sql)
rows = cursor.fetchall()
print "registros", len(rows)
cursor.close()
conexion.close()
print "fin"
----------------------------------------
el resultado ejecutándolo desde el entornovirtual es el mimo:
sys.version_info(major=2, minor=7, micro=9, releaselevel='final', serial=0)
pySQLite: 2.6.0
SQLite: 3.8.7.1
registros 833
fin
---------------
me llama la atención que estando instalado el pysqlite 2.6.3 siga usando
el 2.6.0, como haría para usar la nueva versión en el entorno virtual?
En todo caso encontré la solución (o el problema), al hacerlo se me
ocurrió comentar la línea:
cursor.execute("PRAGMA cache_size=200000")
y el recuento pasó a ser: 547 el correcto!!!
Despues descomenté y añadi un cero al cache_size, quedando así:
cursor.execute("PRAGMA cache_size=2000000")
y tambien funciona si quito ceros, por ejemplo
cursor.execute("PRAGMA cache_size=200")
Mis conocimientos no son suficientes como para comprender esto.
En definitiva, me quedo con dos dudas
Una es como hacer para usar una versión distinta del pysqlite de la
instalada con el python
La otra es este comportamiento del cache_size.
En todo caso, muchisimas gracias por vuestra ayuda.
Dani
On 14/05/15 16:01, Alberto Perez wrote:
seguro que ya lo probaste, pero igual lo sugiero: reinstala.
sudo apt-get remove (lo que queres borrar) y luego sudo apt-get
install (lo que queres instalar)
2015-05-14 9:56 GMT-03:00 Kiko <kikocorre...@gmail.com
<mailto:kikocorre...@gmail.com>>:
El 14 de mayo de 2015, 14:42, Dani <d...@damufo.com
<mailto:d...@damufo.com>> escribió:
Hola:
Gracias por la ayuda
Si, para el error instalando la versión de pysqlite 2.6.3 era
ese el error.
Instalé el
/sqlite3-dev
y ya instaló e pysqlite versión 2.6.3
El caso es que al ejecutar el código
import sqlite3 as sqlite
print "pySQLite: ", sqlite.version
print "SQLite: ", sqlite.sqlite_version
sique indicando:
pySQLite: 2.6.0
SQLite: 3.8.7.1
incluso borré la carpeta
/usr/local/lib/python2.7/dist-packages/pysqlite2
y sigue usando la misma versión.
y sigue pasando lo mismo
alguna idea?
/
Pues sin saber muy bien como tienes las cosas montadas en tu equipo.
Por qué no montas un virtualenv e instalas ahí lo que necesitas
para descartar temas de versiones?
https://pypi.python.org/pypi/virtualenv
/
Gracias
/
Dani
On 14/05/15 14:31, Kiko wrote:
El 14 de mayo de 2015, 14:13, Dani <d...@damufo.com
<mailto:d...@damufo.com>> escribió:
Hola:
SO debian Jessie
Python 2.7.9
pySQLite: 2.6.0
SQLite: 3.8.7.1
Estoy tratando de ejecutar una consulta que lleva un left
join.
Cuando la realizo desde python aparecen registros de más
el count es 833
Sin embargo si hago la misma consulta desde la consola
con sqlite3 o desde la extensión de firefox sqlitemanager
el resultado es 547 (que es lo correcto).
Qué código python estás usando
Recientemente actualicé de debian wheezy a jessie y me da
que puede ser algo de la versión del pysqlite
Alguien sabe que puede ser?
hay forma de cambiar la versión del pysqlite para ver si
es eso
Traté de actualizar el pysqlite
$ sudo pip install pysqlite
con pero sale el error: error: command
'x86_64-linux-gnu-gcc' failed with exit status 1
Puedes poner el error completo?
Gracias
prueba lo siguiente:
/sudo apt-get install python-dev sqlite3-dev /
(lo digo de cabeza y puede que no sea exactamente así, estoy
en un windows ahora)
/sudo pip install --upgrade pysqlite/
_______________________________________________
Python-es mailing list
Python-es@python.org <mailto:Python-es@python.org>
https://mail.python.org/mailman/listinfo/python-es
FAQ:http://python-es-faq.wikidot.com/
_______________________________________________
Python-es mailing list
Python-es@python.org <mailto:Python-es@python.org>
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/
_______________________________________________
Python-es mailing list
Python-es@python.org <mailto:Python-es@python.org>
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/
_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/
_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/