Yes that's true, i've notice that the load extension module is enabled
by default int sqlite version >= 3.3.6
osx leopard come with sqlite3 included in the system, but i'm not
using it i'm using a customized version of sqlite
that is avaiable here :
http://www.kyngchaos.com/files/software/unixport/
download to the .dmg framework :
http://www.kyngchaos.com/files/software/unixport/SQLite3_Framework-3.6.11-2.dmg
Note :
Includes the FTS3 search, ICU unicode, R-Tree indexing and Spatialite
extensions, and Proxy Locking, Column Metadata and Memory Management
features are enabled.
if i type in a terminal :
sqlite3 -version
i've :
macbook-pro-15-di-sasha:~ sasha$ sqlite3 -version
3.6.10
that is the framework version infact,
which sqlite give me :
macbook-pro-15-di-sasha:~ sasha$ which sqlite3
/Library/Frameworks/SQLite3.framework/Programs/sqlite3
while :
locate sqlite3 give me the path to the system sqlite3 :
....
/usr/bin/sqlite3
/usr/include/sqlite3.h
/usr/include/sqlite3ext.h
/usr/lib/libsqlite3.0.8.6.dylib
/usr/lib/libsqlite3.0.dylib
/usr/lib/libsqlite3.dylib
/usr/lib/sqlite3
/usr/lib/sqlite3/libtclsqlite3.dylib
/usr/lib/sqlite3/pkgIndex.tcl
....
if i try to ask the version to the system sqlite3 i've :
macbook-pro-15-di-sasha:~ sasha$ /usr/bin/sqlite3 -version
3.4.0
it is under version - 3.3.6
so it has the "load_extension" limitation
so my opinion is that pysqlite detect the system version that is not
able to load the extension,
maybe a solution is to force pysqlite2 to use the right version ()
... how can i force pysqlite to do it ?
can i modify something in the source ?
maybe in setup.cfg ???
the default setup.cfg is :
[build_ext]
#define=
#include_dirs=/usr/local/include
#library_dirs=/usr/local/lib
libraries=sqlite3
define=SQLITE_OMIT_LOAD_EXTENSION
can i change it to :
[build_ext]
#define=
include_dirs=/Library/Frameworks/SQLite3.framework/Versions/3/Headers/
library_dirs=//Library/Frameworks/SQLite3.framework/Versions/3/unix/lib
libraries=sqlite3
#define=SQLITE_OMIT_LOAD_EXTENSION
thanks for any suggestion
ciao,
Massimo
Il giorno 25/mar/09, alle ore 21:56, Ned Deily ha scritto:
In article <2d7d319e-094d-4d0e-8dd9-9ad51056a...@yahoo.it>,
massimo di stefano <massimodisa...@yahoo.it>
wrote:
i followed that way too,
i downloaded the bynary version for pysqlite osx intel
i copied all the files under :
/Users/Shared/source/spatialite/
|
bin/
|
lib/
|
include/
in my .bash_profile i added :
LD_LIBRARY_PATH=/Users/Shared/source/spatialite/lib
export LD_LIBRARY_PATH
then i removed and reinstalled pysqlite :
sudo rm -rf /Library/Python/2.5/site-packages/pysqlite2 /Library/
Python/2.5/site-packages/pysqlite-2.5.0-py2.5.egg-info
quit terminal.app and open a new one,
rebuild pysqlite, these the log :
http://www.geofemengineering.it/pysqlite_osx_log_2.txt
then in python :
from pysqlite2 import dbapi2 as sqlite
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Python/2.5/site-packages/pysqlite2/dbapi2.py", line
27, in <module>
from pysqlite2._sqlite import *
ImportError: dlopen(/Library/Python/2.5/site-packages/pysqlite2/
_sqlite.so, 2): Symbol not found: _sqlite3_enable_load_extension
Referenced from: /Library/Python/2.5/site-packages/pysqlite2/
_sqlite.so
Expected in: dynamic lookup
Ah, I see. As far as I know, pysqlite2 is just the python wrapper
to a
sqlite3 library, it doesn't include sqlite3 itself. Note, the
cavaet in
the spatialite install instructions:
"the sqlite3 of standard distribution [10.5] doesn't supports the
dynamic extension loading mechanism"
So I think you'll need to download the sqlite3 (amalgamation?) source
and build your own version along with pysqlite2. Hopefully, someone
with more experience with sqlite3 can give a definitive answer.
Good luck!
--
Ned Deily,
n...@acm.org
_______________________________________________
list-pysqlite mailing list
list-pysql...@lists.itsystementwicklung.de
http://itsystementwicklung.de/cgi-bin/mailman/listinfo/list-pysqlite
Chiacchiera con i tuoi amici in tempo reale!
http://it.yahoo.com/mail_it/foot/*http://it.messenger.yahoo.com
_______________________________________________
Pythonmac-SIG maillist - Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig