pythonにsqlite3が無いと怒られる
djangoのインストールが終わったので早速チュートリアルをやろうとしたら、変なエラーが出る。
Traceback (most recent call last): File "/home/vagrant/.virtualenvs/django/lib/python3.6/site-packages/django/db/backends/sqlite3/base.py", line 33, in <module> from sqlite3 import dbapi2 as Database File "/usr/local/bin/python-3.6.2/lib/python3.6/sqlite3/__init__.py", line 23, in <module> from sqlite3.dbapi2 import * File "/usr/local/bin/python-3.6.2/lib/python3.6/sqlite3/dbapi2.py", line 27, in <module> from _sqlite3 import * ModuleNotFoundError: No module named '_sqlite3'
どうやらsqlite3が無いらしい・・・。
調べてみると、Pythonをソースからコンパイルして導入した場合、sqliteとかは自力でインストールしないとダメらしい。
なので、インストールします。
pip install sqlite3 libsqlite3-dev libsqlite3 python >>> import sqlite3 Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/bin/python-3.6.2/lib/python3.6/sqlite3/__init__.py", line 23, in <module> from sqlite3.dbapi2 import * File "/usr/local/bin/python-3.6.2/lib/python3.6/sqlite3/dbapi2.py", line 27, in <module> from _sqlite3 import * ModuleNotFoundError: No module named '_sqlite3'
ダメやんけ!
どうやら、コンパイル前にインストール済みじゃ無いとダメらしいです。
仕方ないのでpython削除 ついでに今のうちに他にも必要そうなpackageをインストール
sudo rm -rf /usr/local/bin/python-3.6.2 sudo apt-get -y install build-essential libsqlite3-dev libreadline6-dev libgdbm-dev zlib1g-dev zlibbz2-dev sqlite3 tk-dev zip libssl-dev gfortran liblapack-dev
コンパイルし直し
sudo wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz tar xvzf Python-3.6.2.tgz cd Python-3.6.2 ./configure --prefix=/usr/local/bin/python-3.6.2 make sudo make install
なんとかなりました。 これでやっとDjangoに触れる・・・。