0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[Django] aws cloud9環境でpython manage.py実行したらsqliteのバージョンエラー

Last updated at Posted at 2020-11-08

今までmac上でdocker環境を立ち上げてDjangoの学習をしていましたが、cloud9で行う記事を見てawsの勉強になるかもしれないと考えcloud9を試してみました。ただコードを書く前のmanage.pyの実行でエラーしてしまい解決するまで時間がかかったのでメモを残します。

環境 : aws cloud9のamazon linux2

/etc/system-release
$ cat /etc/system-release
Amazon Linux release 2 (Karoo)
$ python manage.py startapp blog
Traceback (most recent call last):
  File "manage.py", line 21, in <module>
・・・略・・・
   raise ImproperlyConfigured('SQLite 3.8.3 or later is required (found %s).' % Database.sqlite_version)
django.core.exceptions.ImproperlyConfigured: SQLite 3.8.3 or later is required (found 3.7.17)

$ python -V
Python 3.7.9

$ sqlite3 --version
3.33.0 2020-08-14 13:23:32 

バージョンは問題なさそう。

$ which sqlite3
/home/linuxbrew/.linuxbrew/bin/sqlite3

$ /usr/bin/sqlite3 --version
3.7.17 2013-05-20 00:56:22 

コマンドラインからはlinuxbrew配下のsqlite3が見えているがpythonからは/usr/bin/sqlite3が見えている?
調べるとsqlite3が古いから最新版をインストールする記事が多かったが、その中で最新版インストール先のlibをLD_LIBRARY_PATHに設定するというの記事があったので真似してみた。

export LD_LIBRARY_PATH=/home/linuxbrew/.linuxbrew/lib:${LD_LIBRARY_PATH}

無事manage.pyの実行ができました。linuxbrewは知りませんでしたがhomebrewのlinux版
。LD_LIBRARY_PATHも設定しておくと良いと見つけた記事にありましたが、cloud9ではlinuxbrewはインストールされているがLD_LIBRARY_PATHは設定されていないようでした(.bashrcへの記述はなかった)。

### LD_LIBLARY_PATHを設定しないといけないのはなんとなくわかるが何で必要かよくわかっていない。

参考
https://qiita.com/rururu_kenken/items/8202b30b50e3bfa75821
https://qiita.com/thermes/items/926b478ff6e3758ecfea

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?