問題タブ [pysqlite]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
3877 参照

django - OS X に Python 用 Spatialite (GeoDjango) をインストールする

GeoDjango 用の Spatialite をインストールしようとして、髪をかきむしっています。

私はすでに Homebrew を使用しています。これは一般的に簡単で便利なので、最初はGeoDjangoのHomebrew の指示に従おうとしました。

しかし、これは、Spatialite などのデータベースをインストールするまでには至りません。次のステップは、Spatialite 自体を試してインストールすることですが、Django ドキュメントで提供される Homebrew 固有の手順はありません。

完璧に見えるこのチュートリアルを見つけました.GeoDjango用のSpatialiteのHomebrewおよびvirtualenvフレンドリーなインストールです。

しかし、うまくいきません... pysqliteHomebrewからインストールした空間化されたものではなく、OS Xに付属する非空間対応バージョンのSQLiteにリンクされているようです.Djangoが試したときにこのエラーが発生しましたデータベースに接続するには:

「pysqlite ライブラリは C 拡張機能の読み込みをサポートしていません。SpatiaLite を使用するには、拡張機能の読み込みを許可するように SQLite と pysqlite の両方を構成する必要があります。」

pysqlite の作成者は、Github での助けを求める私の嘆願に応答しておらず、Google からも何も見つかりませんでした。

そこで私は製図板に戻り、GeoDjango ドキュメントの「Mac OS X 固有の手順」に従うことにしました... KyngChaos バイナリ パッケージからさまざまな geo ライブラリをインストールすることによって。

UnixImageIOドキュメントには「パッケージを上記の順序でインストールする」と書かれていますが、最初にインストールしないとインストールできないことがわかりましたPROJ。Spatialite バイナリをダウンロードするためのドキュメントのリンク ( http://www.gaia-gis.it/spatialite-2.3.1/binaries.html ) が壊れているため、代わりに KyngChaos の「Spatialite Tools v4.1」を使用しました。

次のステップに進むと、次のエラーが表示されます。

この時点で何が問題なのかよくわかりません。

ここSOには、 KyngChaosルートをたどり、Homebrewルートから得た同じ「拡張機能のロードを許可するには、SQLiteとpysqliteの両方を構成する必要があります」というエラーが発生する人がいます。

Django へのサポートを追加するためのこのチケット #17756を見つけました - これはすべてを簡単に実行できるはずですが、残念ながらどちらも機能しません (チケットの下部にあるコメントを参照してください)。pyspatialitepyspatialitepip install

ソースからすべてを手動でビルドしようとするのは少し気が進まないので、同じ問題に再び遭遇する可能性が高いと思われますが、途中で不可解なコンパイラエラー、魔法のフラグ、パスなどに関する情報をグーグルで検索するのに何時間も費やしています.

私はあきらめて、Postgres/PostGIS を使用する準備ができています。

0 投票する
0 に答える
635 参照

ios - iOS での SQLite (Spatialite) クエリは 64 ビット シミュレータで動作しますが、それ以外は機能しません

Django 管理コマンドによって生成された Spatialite データベースがあり、これを iOS アプリに埋め込んでいます。データベースは完全に開きますが、iOS でのデータベースのクエリは、64 ビット デバイスで実行している場合にのみ機能することがわかりました。シミュレートされているかどうかに関係なく、その他のデバイスは、 のSQLITE_NOTADB呼び出しsqlite3_prepare_v2時にエラー メッセージ とともに出力を生成しますfile is encrypted or is not a database

明らかに、このデータベースを作成した Mac は 64 ビット マシンですが、SQLite データベースはビットにとらわれない必要があるため、これがどのように問題になるのかわかりません。おそらく、これは Spatialite データベースには当てはまりませんか? 64 ビット アーチ iOS と同じ方法でファイルを読み取るために、SQLite 関数 (またはコマンド)で使用できるフラグはありますsqlite3_openか? それとも、django からよりプラットフォーム互換性のある形式で Spatialite db を生成する方法があるのでしょうか? ここでの提案は大歓迎です。sqlite3_prepare_v2pragma

誰かが明らかな問題を見つけることができる場合、これが私のコードのスニペットです:

アプリを起動し、64 ビット以外の iOS プラットフォームで実行するとgetLockupsForRegion:、ログ出力が生成されます。

そして、arm64 の下のログ出力:

バージョン:

  • パイソン: 2.7.5
  • ジャンゴ: 1.6
  • PySqlite: 2.6.3
  • Sqlite (Spatialite db を生成するマシン上): 3.8.1
  • Spatialite (Spatialite db を生成するマシン上): 4.1.1
  • Sqlite (iOS): 3.8.1
  • Spatialite (iOS): 4.1.1

これに関する提案は大歓迎です!

0 投票する
1 に答える
42 参照

python - pysqliteがqmarkのパラメータ化を受け入れない

Python pysqlite not accept my qmark parameterizationで回答されたものと同様の質問があり ます

私の問題は次のとおりです。文字列自体ではなく、何かのような文字列のパラメーター化された検索が必要です。

これは私の声明です:

pysqlite は次のエラーを返します。

これは qmark がリテラルとして解釈されるためであることは理解しています。ただし、qmarks がリテラルとして解釈されずに、qmarks を使用してそのような「like」検索を指定する方法がわかりません。

次の検索は成功します。

しかし、私が理解している限り、それはまさにformat() 関数を使用すべきではない方法です。

0 投票する
1 に答える
12794 参照

python - SQLite でカーソルの最後の行をフェッチする

Android では、cursor.moveToLast() を使用してカーソル内の最後の項目をフェッチすることに非常に慣れています。ただし、Python の SQLite に相当するものが見つからないようです。カーソルの最後の行を取得できる関数はありますか?

cursor.fetchall() を呼び出してリストの最後の項目を取得することもできますが、それよりも効率的な方法はありますか? ありがとう。

0 投票する
3 に答える
1139 参照

python - pysqlite の IntegrityError:「NOT NULL」と「UNIQUE」違反を区別する

pysqlite では、NOT NULLまたはUNIQUE制約に違反すると、同様に IntegrityError が発生します。残念ながら、この Exception タイプはエラー コードを提供せず、メッセージのみを提供します。

したがって、一意の制約違反を無視したいとしましょう。これは、特定のデータでは安全であることがわかっているためですが、キー列の Null 値は報告する必要があります。

私は次の解決策を思いつきました:

ただし、エラー メッセージの解析は間違っているようで、信頼できない可能性があります。これを行うためのより良い方法はありcon.executemany()ますか?

0 投票する
1 に答える
944 参照

python - pysqlite のインストール中にエラーが発生する

pysqlite をインストールしようとしていますが、以下のエラーが発生します -

私もピップを試しました..しかし、運がありません!!

誰でもこのエラーを追跡する方法を提案できますか? ありがとう !

0 投票する
1 に答える
1572 参照

python - pandas pythonでのSQLクエリ

私はpython pandasでSQLクエリを書いています:

エラー:

Unicode 文字列に切り替えるには? 私はpython2.7を使用しています。

0 投票する
1 に答える
551 参照

python - pysqlite2._sqliteという名前のモジュールがありませんフラスコでエラーが発生しました

こんにちは、pysqlite2._sqlite という名前のモジュールがありませんというエラーに問題があります

私はflaskとvirtualenvでSQLalchemyを使用しています

このようなモデルでクエリを実行すると

次のエラーが発生しました

最初のエラーは

だから私は pip install pysqlite でpysqliteをインストールします

私はpysqliteを再インストールしようとします

しかし、同じ問題が発生しています

そして、私はsqlahcemyコードをチェックします、それはこのようなモジュールをインポートします

しかし、コンソールでは

pysqlite2 インポート dbapi2 から

は働いている。

だから私はpysqlite2ライブラリフォルダをチェックします

_sqlite.so ファイルがあることがわかりました。

何が問題ですか?

0 投票する
1 に答える
1773 参照

python - sqlite3 / pysqlite を使用してデータベース間で結合する

2 つの別個のデータベース ファイルがあり、それぞれに一致する主キーを持つテーブルがありますが、データは異なります。もう一方のテーブルの値に基づいて、あるテーブルから行を取り出したい。の CLI ではsqlite3、次のようにします。

を使用してこのようなクロスデータベース結合を再作成するにはどうすればよいpysqliteですか?