我已安装了spatialite DLL文件from this page。我已经交替尝试将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.
有关如何使64位Win7专门用于64位python的任何建议吗?
答案 0 :(得分:0)
修正了它。如果其他人遇到同样的问题,我会发布解决方案:
步骤1.获取Spatialite DLL:
下载64位版本(即mod_spatialite-4.3.0a-win-amd64.7z)here。解压缩存档,并将文件放入Windows' System32文件夹。
步骤2.更新spatialite3 python模块的DLL文件:
如果安装了sqlite3模块,则在C:\ Python [X.X] \ DLL文件夹中,有一个名为' sqlite3.dll' - 此默认sqlite dll可能无法与新的spatialite DLL一起使用。用this site中更新的64位sqlite3.dll替换默认DLL。