問題タブ [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.
python - selectステートメントのpysqliteユーザータイプ
pysqlite を使用して、ユーザー定義型を比較の値としてどのように使用できますか。g: 「... WHERE columnName > userType」?
たとえば、必要な登録、コンバーターなどを使用して bool 型を定義しました。Pysqlite/Sqlite は、INSERT および SELECT 操作に対して期待どおりに応答します (bool 'True' は整数 1 として格納され、True として返されます)。
ただし、bool が「SELECT * from tasks WHERE display = True」または「... WHERE display = 'True」で使用されている場合は失敗します。最初のケースでは、Sqlite は True という名前の列がないというエラーを報告します。2 番目のケースでは、レコードは返されません。True の代わりに 1 を使用すると、選択が機能します。pysqlite 独自の日付およびタイムスタンプ アダプターを使用する場合、同じ問題があるようです。
このユーザー タイプや他のユーザー タイプに対してこの動作を回避することはできますが、それほど面白くありません。この特定の壁に頭をぶつけ続けないように、クエリでユーザー定義型を使用できるかどうかを知りたいです。
ありがとうございました。
django - CentOS 上の Django
不明なバージョンの CentOS を実行している共有ホストで Django を使用しようとしています。私の主な問題は、データベースとのインターフェースを試みることです。サーバーには MySQL がインストールされていますが、MySQL-python はインストールされていません。最初は「yum install MySQL-python」を実行することを提案することを考えていましたが、どうやら CentOS のデフォルト リポジトリにある MySQL-python のバージョンは 1.2.1 で、Django には 1.2.1p2 が必要です。
この要件は、Django 0.96 で最初に開始されました。リリース ノートでは、古いバージョンの MySQL-python との互換性のために、mysql_old という非推奨のインターフェイスが追加されました。昨年 7 月、この非推奨のインターフェースは不意に削除されました。この変更の発表は、古いこと以外の理由を示すものではありません。
Django 1.1 でこの古いインターフェースを復活させることは可能ですか? それ以降、データベース インターフェイスに変更はありましたか? Django にバージョン チェックをスキップさせて 1.2.1 を使用させると、どのような危険がありますか? 新しいバージョンを別のマシンでコンパイルして、ファイルをホストにコピーすることはできますか? そのためには何を知る必要がありますか?
SQLite も調べましたが、CentOS には Python 2.4.3 が同梱されているため、pysqlite2 拡張機能が必要になりますが、これは (事実上) リポジトリには存在しません。
ソースからインストールするだけですべてを解決できますが、それはかなり厄介であり、リポジトリから何かをインストールするよりも、会社にそうするよう説得する可能性がはるかに低くなります. 別のホストを取得する必要があるように思えますが、これを機能させようとする理由があることを信頼する必要があります.
注: 私は CentOS や yum を使用した経験がないため、それらについて述べたことはすべて情報に基づいた推測です。これらのパッケージの更新されたバージョンを取得するために、いくつかの設定を指定するか、リポジトリを変更するだけでよいかどうかを教えてください。ありがとう。
python - オブジェクト破壊時の内部pysqlite接続のクリーンアップ
存続期間を通じてアクティブな内部データベース接続を持つオブジェクトがあります。プログラムの実行の最後に、接続をコミットして閉じる必要があります。これまで明示的なclose
メソッドを使用してきましたが、これは、特に呼び出し元のコードで例外が発生する可能性がある場合は、やや面倒です。
クロージングの方法を考えてい__del__
ますが、オンラインで読んだ後、心配です。これは有効な使用パターンですか?内部リソースが__del__
正しく解放されることを確認できますか?
この議論は同様の質問を提起しましたが、満足のいく答えは見つかりませんでした。私のオブジェクトはopen-play-closeのように単純に使用されるのではなく、それを使用する別のより大きなオブジェクトのメンバーとして保持されるため、明示的なclose
メソッドは必要ありません。 with
GUIでの実行中。
C ++には、リソースを安全に解放できる完全に機能するデストラクタがあるので、Pythonにも合意されたものがあると思います。何らかの理由でそうではないようで、コミュニティの多くは反対を誓い__del__
ます。では、代替案は何ですか?
python - SQLiteにユリウス日としてDateTimeデータを保存するのは面倒ですか?
SQLite docsは、DBに日時値を格納するための推奨形式は(組み込み関数を使用して)ユリウス日を使用することであると指定しています。
ただし、Pythonで見たすべてのフレームワーク(pysqlite、SQLAlchemy)は、datetime.datetime
値をISO形式の文字列として格納します。なぜ彼らはそうしているのですか?
私は通常、フレームワークをユリウス日として日時を保存するように適応させようとしていますが、それは非常に苦痛です。私はそれが努力する価値があるのではないかと疑い始めました。
この分野でのあなたの経験を私と共有してください。ユリウス日を守ることは理にかなっていますか?
python - pysqliteをインストールするにはどうすればいいですか?
pysqlite(SQLiteへのPythonインターフェース)をインストールしようとしています。パッケージ(pysqlite-2.5.5.tar.gz)を含むファイルをダウンロードしました。そして、私は次のことをしました:
最後のステップで問題が発生しました。次のエラーメッセージが表示されます。
私が理解した限りでは、sqlite2がインストールされていなかったため、問題が発生しました。しかし、私の場合、sqlite3があります(コマンドラインから実行できます)。
でいくつかのパスを変更する必要があるかもしれませ"setup.cfg"
んか?現時点で私はそこにいます:
そして、「which sqlite3」と入力すると、次のようになります。
私はここで同様の質問を見ました。答えは「sqlite3-devが必要」でした。しかし、そうだとしても、私が持っているかどうかを確認する方法sqlite3-dev
。そして、私がそれを持っていない場合、それを取得する方法は?
誰かがその問題で私を助けてくれますか?
前もって感謝します。
python - Python 2.4用のsqliteを構築する方法は?
Pythonとsdliteデータベースの間でpysqliteインターフェースを使用したいと思います。私のコンピューターにはすでにPythonとSQLiteがあります。しかし、pysqliteのインストールに問題があります。インストール中に、次のエラーメッセージが表示されます。
エラー:コマンド'gcc'が終了ステータス1で失敗しました
私が理解している限り、Pythonのバージョンは2.4.3であり、SQLiteは2.5以降Pythonに統合されているため、問題が発生します。ただし、Python 2.4用のsqliteをビルドすることも可能であることがわかりました(おそらくいくつかのトリックを使用して)。
Python 2.4用のsqliteを構築する方法を知っている人はいますか?
別のオプションとして、Pythonの上位バージョンをインストールしてみることができます。ただし、root権限はありません。問題を解決する最も簡単な方法(Python 2.4からSQLiteをビルドするか、新しいバージョンのPythonをインストールする)を知っている人はいますか?古いバージョンのPythonを上書きしたくないことを言及する必要があります。
前もって感謝します。
python - pysqlite が正しく動作しないのはなぜですか?
pysqlite をインストールしようとしました。インストール中にいくつかの疑わしいものが現れ始めます。入力した理由:
最後に次のメッセージを受け取りました。
最後の行を無視して、続行することにしました。だから、私は入力しました:
そして、再び、同様のエラーメッセージが表示されました:
その後、pysqlite が動作するか試してみました。python-command-line モードで入力した場合
Python は文句を言いません。ただし、私の本の例に従おうとすると、次のようになります。
エラー メッセージが表示されます。
なぜそれが起こるのか、この問題をどのように解決できるのか、誰にも考えがありますか? ところで、私は新しいバージョンの Python をインストールしました。「python -V」は「Python 2.6.2」を提供します。よろしくお願いします。
python - sqlite 開発ヘッダーとは何ですか?それらをインストールする方法は?
pysqlite をインストールしようとしていますが、問題があります。その最も可能性の高い理由は sqlite ヘッダーがないことがわかり、それらをインストールする必要があります。
ただし、これらのヘッダーが何であるか (どこで見つけられるか、何をしているか、どのようにインストールするか) はわかりません。
誰か助けてくれませんか?