SQLiteコマンドが実行できない

データベース プログラミング

SQLite3コマンドを打つとエラーになる

(venv) PS C:\PythonProjects\006Django_practice01\quick_django> sqlite3 db.sqlite3
sqlite3 : 用語 'sqlite3' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されま 
せん。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してくだ 
さい。
発生場所 行:1 文字:1
+ sqlite3 db.sqlite3
+ ~~~~~~~
+ CategoryInfo : ObjectNotFound: (sqlite3:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

環境

OS:Windows10
エディタ:VSCode 1.72.2
Pythonバージョン:3.8.3
Django:3.0.6

DjangoはデフォルトでSQLiteが利用できるという触れ込みだったのにおかしい…。

解決策:Windows側にSQLiteをインストール

なんてことはない、Windows側にSQLiteが入ってなかった。
コマンドプロンプトからSQLiteコマンドを打つにはWindows側にSQLiteをインストールして、環境変数を設定する必要がある。
開発環境でSQLiteが利用できるようになっていてもWindows側にも設定が必要だった。
書籍でDjangoの学習をしているが、特にインストールしろと言われてなかったのでやってなかった。

SQLiteインストール手順

まずはSQLite公式ページにアクセス。

SQLite Download Page

Windows版をダウンロードしたいので「Precompiled Binaries for Windows」にある「sqlite-tools-win32-x86-3360000.zip」をダウンロード。

次にzipファイルを解凍。

この三つのファイルを自分の好きな場所に保存すれば完了。

自分は単純にCドライブ直下に入れています。

次に環境変数を設定。

Windowsのスタートメニュー → 設定 → 「システムの詳細設定」

環境変数をクリック

環境変数の「path」に先ほど作成したフォルダのパスを設定

ユーザ環境変数はユーザごと、システム環境変数はそのPCユーザ全体に影響が及ぶ。
自分の都合に合わせて設定してください。

 

教訓

エラーメッセージが「CommandNotFoundException」なんだから、まず環境変数周りや実行ファイルの有無を疑うようにする。

結果だけまとめるとこんな単純なことでもエラー原因がわかるまで時間がかかる。
開発環境の方にSQLiteをpipインストールしたりと無駄なことをしてしまった。

コメント

タイトルとURLをコピーしました