前提・実現したいこと
python の sqlite3 モジュールを使った django プロジェクトを root 権限で実行したいです。
django プロジェクトでは、sqlite3 のバージョンが 3.8.3 以上じゃないと実行できず、sqlite3 のバージョンは 3.27.1 なのにもかかわらず、root 権限で実行した際のモジュールが持つバージョンは 3.7.17 が指定されます。
ルート権限で実行した際のpythonコマンドのsqlite3モジュールはどこのsqlite3を見ているのでしょうか?
モジュールのパス等も調べましたが、よくわかりませんでした。よろしくお願いします。
発生している問題・エラーメッセージ
django.core.exceptions.ImproperlyConfigured: SQLite 3.8.3 or later is required (found 3.7.17).
該当のソースコード
$ python3 Python 3.7.6 (default, Feb 26 2020, 20:54:15) [GCC 7.3.1 20180712 (Red Hat 7.3.1-6)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import sqlite3 >>> sqlite3.sqlite_version '3.27.1' >>> exit() $ sudo python3 Python 3.7.6 (default, Feb 26 2020, 20:54:15) [GCC 7.3.1 20180712 (Red Hat 7.3.1-6)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import sqlite3 >>> sqlite3.sqlite_version '3.7.17' >>> exit Use exit() or Ctrl-D (i.e. EOF) to exit >>> exit()
試したこと
$ sudo python3 Python 3.7.6 (default, Feb 26 2020, 20:54:15) [GCC 7.3.1 20180712 (Red Hat 7.3.1-6)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import sys >>> sys.path ['', '/usr/lib64/python37.zip', '/usr/lib64/python3.7', '/usr/lib64/python3.7/lib-dynload', '/usr/local/lib/python3.7/site-packages', '/usr/lib64/python3.7/site-packages', '/usr/lib/python3.7/site-packages'] >>> exit()
補足情報(FW/ツールのバージョンなど)
$ sudo find / -name sqlite3 /usr/bin/sqlite3 #3.27.1 /usr/lib64/python3.7/sqlite3 #ディレクトリ /usr/lib64/python2.7/sqlite3 #ディレクトリ /usr/local/bin/sqlite3 #3.27.1
7/15 追記
追記依頼をいただき、ありがとうございます。追記いたします。
管理者権限で実行しなかった際の sys.path は以下の通りです。
$ python3 Python 3.7.6 (default, Feb 26 2020, 20:54:15) [GCC 7.3.1 20180712 (Red Hat 7.3.1-6)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import sys >>> sys.path ['', '/usr/lib64/python37.zip', '/usr/lib64/python3.7', '/usr/lib64/python3.7/lib-dynload', '/home/{ユーザ名}/.local/lib/python3.7/site-packages', '/usr/local/lib/python3.7/site-packages', '/usr/lib64/python3.7/site-packages', '/usr/lib/python3.7/site-packages']
実行されている python3 は以下の通りです。
$ which python3 /usr/bin/python3 $ sudo which python3 /bin/python3
回答2件
あなたの回答
tips
プレビュー