spatialite
Windows 7 で Python 2 と 3 の両方を使用しようとしています。
pyspatialite
Python 3にパッチを適用するのではなく、 Python 組み込みパッケージを使用するload_extension
アプローチを使用することにしました。これは、ここで行われている方法と同様です: Sqlite load_extension fail for spatialite in Pythonおよびここ: Use spatialite extension for SQLite on Windows .sqlite3
しかし、公式の (C)Python 2.7 インストーラーでは、load_extension
MacOS に関連する問題のために無効化されていました。これは、Python 3.4 に対応するものではありません。さらに、両方のインストーラーはなしで構築されていますSQLITE_ENABLE_RTREE=1
(それも必要です)。
最初、Python 2.7 の回避策はpysqlite
、R*Tree と拡張機能の両方を持つようにセットアップ ファイルを微調整してビルドすることでした。この方法は、現在の ではサポートされていないように見えるため、Python 3 では機能しませんsetup.py
。私の理解では、これはパッケージがコア Python リポジトリに移動したためです: https://github.com/ghaering/pysqlite/issues/72#issuecomment-94319589
sqlite3
私の現在の解決策は、パッケージに必要な設定で Python 2.7 と 3.4 の両方を再構築することでした。spatialite
それは機能し、拡張機能としてロードして R*Tree を作成することができました。
代替のより単純なソリューションは存在しますか? またはに取り組んで、誰かが別の解決策を見つけましsetup.py
たpyspatialite
かpysqlite
?