[pyar] SQLite en LibreOffice...

Marcos Dione mdione en grulic.org.ar
Mie Mayo 18 05:34:25 ART 2016


On Tue, May 17, 2016 at 05:42:04PM -0500, Mauricio Baeza wrote:
> Por una razón que no logro explicarme, los desarrolladores de LibreOffice
> decidieron quitar las librerias para SQLite en el core de Python que incluye
> LibreOffice para Windows.
> 
> Mi extensión (100% python) usa SQLite para la base de datos, despues de
> algunas pruebas, pude integrarlas y dejarlas estable en LibreOffice 4.1.
> Ahora, que los usuarios quieren usar LibreOffice 5.1, no importa más las
> librerias integradas para SQLite. 

    no importa más o no incluye más? supongo que lo que te pasa cuando hacés:

import sqlite

    te dá un ImportError, no? o cuál es el problema?

> Se que no es un problema de estas
> librerías, por que las copio del core de Python y por que instalado el
> mismo, como lo menciono más abajo, todo funciona correctamente.

    'por que instalado el mismo'? No entiendo la redacción (además de que
'porque' va todo junto en una afirmación).

> En LibreOfice 4.1 se tenía lo siguiente:
> 
> Sistema: Windows-XP-5.1.2600-SP3
> LibreOffice 4.1
> Python: 3.3.3 (default, Apr 23 2014, 02:10:35) [MSC v.1600 32 bit (Intel)]
> 
> C:\Archivos de programa\LibreOffice 4\program\python-core-3.3.3\lib
> C:\Archivos de programa\LibreOffice 4\program\python-core-3.3.3\lib\site-packages
> C:\Archivos de programa\LibreOffice 4\program
> C:\Archivos de programa\LibreOffice 4\program\python33.zip
> C:\Archivos de programa\LibreOffice 4\program\python-core-3.3.3\DLLs
> C:\Archivos de programa\LibreOffice 4\program\python-core-3.3.3
> 
> Ahora en LibreOffice 5.1 se tiene:
> 
> Sistema: Windows-XP-5.1.2600-SP3
> LibreOffice 5.0
> Python: 3.3.5 (default, May  5 2016, 07:37:41) [MSC v.1800 32 bit (Intel)]
> 
> C:\Archivos de programa\LibreOffice 5\program\python-core-3.3.3\lib
> C:\Archivos de programa\LibreOffice 5\program\python-core-3.3.3\lib\site-packages
> C:\Archivos de programa\LibreOffice 5\program
> C:\Archivos de programa\LibreOffice 5\program\python33.zip
> C:\Archivos de programa\LibreOffice 5\program\python-core-3.3.3\DLLs
> C:\Archivos de programa\LibreOffice 5\program\python-core-3.3.3
> 
> La única diferencia que veo es la versión de Python, 3.3.3 contra 3.3.5

    Los paths ahí arriba aún mencionan 3.3.3, no entiendo... Cómo
obtuviste la línea con la versión de Python?

> La única forma que logro hacer funcionar de nuevo el sistema, es instalando
> Python 3.3.5 en el sistema. Tengo el mismo comportamiento en cualquier
> versión de Windows.
> 
> El sentido común me dice que al instalar Python modifica algo en el registro
> de Windows o instala alguna librería compartida.

    Lo que debe faltar es el equivalente de esto:

/usr/lib/python3.5/sqlite3
/usr/lib/python3.5/lib-dynload/_sqlite3.cpython-35m-x86_64-linux-gnu.so
/usr/lib/python3.5/sqlite3/__init__.py
/usr/lib/python3.5/sqlite3/dbapi2.py
/usr/lib/python3.5/sqlite3/dump.py

    Fijate si los encontrás en el Python que viene con LOffice y en el
Python que instalás vos a mano.

> 1.- ¿Puedo saber de algún modo que modifica la instalación de Python para
> que funcionen las librerias SQLite en mi extensión?

    Bienvenido a Windows, donde todo es un misterio. Supongo que debe
setear alguna variable de entorno que el LibreOffice use.

> 2.- ¿Como puedo agregar al core de LibreOffice soporte para SQLite
> directamente? para esto e tratado de reproducir la ubicación de los archivos
> en el core de Python instalado en el core de LibreOffice sin exito. Es
> decir, mientras esta instalado Python funcionan, pero al desintalar Python
> dejan de funcionar dentro de LibreOffice

    Eso se lo vas a tener que preguntar a la gente de LibreOffice. Daría
la impresión que o en algún momento tomaron una desición y quitaron ese
soporte, o hay un bug en el instalador, o hay otro problema en tu setup;
por ejemplo, la discrepancia 3.3.3/3.3.5 que pusiste allá arriba.


Más información sobre la lista de distribución pyar