将spatialite与64位python';64位Windows 7上的sqlite3模块

将spatialite与64位python';64位Windows 7上的sqlite3模块,python,sqlite,spatialite,Python,Sqlite,Spatialite,我已经安装了spatialite DLL文件。我也尝试过将32位DLL(mod_spatialite-4.2.0-win-x86.7z)放入Windows的system32文件夹,将64位文件(mod_spatialite-4.3.0a-win-amd64.7z)放入SysWOW64文件夹。然后,我在python中执行以下操作: import sqlite3 conn = sqlite3.connect(":memory:") conn.enable_load_extension(True) c

我已经安装了spatialite DLL文件。我也尝试过将32位DLL(mod_spatialite-4.2.0-win-x86.7z)放入Windows的system32文件夹,将64位文件(mod_spatialite-4.3.0a-win-amd64.7z)放入SysWOW64文件夹。然后,我在python中执行以下操作:

import sqlite3
conn = sqlite3.connect(":memory:")
conn.enable_load_extension(True)
conn.execute('SELECT load_extension("[name of spatialite dll file]")')
这将生成错误消息:

sqlite3.OperationalError: %1 is not a valid Win32 application.

关于如何让spatialite使用64位python在64位Win7上工作,有什么建议吗?

修复了它。如果其他人有相同的问题,我将发布解决方案:

第1步。获取Spatialite DLL:

下载64位版本(即mod_spatialite-4.3.0a-win-amd64.7z)。解压缩归档文件,并将文件放入Windows的System32文件夹中

第2步。更新spatialite3 python模块的DLL文件:

如果安装了sqlite3模块,则在C:\Python[X.X]\DLL文件夹中有一个名为“sqlite3.DLL”的文件-此默认sqlite DLL可能无法与新的spatialite DLL一起使用。使用中更新的64位sqlite3.DLL替换默认DLL