7

spatialiteWindows 7 で Python 2 と 3 の両方を使用しようとしています。

pyspatialitePython 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_extensionMacOS に関連する問題のために無効化されていました。これは、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.pypyspatialitepysqlite?

4

1 に答える 1