Help us understand the problem. What is going on with this article?

【ubuntu】ImportError: No module named '_sqlite3'とでたときの対処法【Python】

More than 3 years have passed since last update.

作ったツールをubuntuにcloneしたときにこんな風に怒られたのです。

原因

OS自体にsqlite3を使うためのライブラリが入っていないことが原因です。

pythonでsqliteをインストールしてても無駄です。
結局pythonもOSのライブラリを参照しているので。

解決方法

というわけで必要なものをインストールすればOKです

sudo apt-get install libsqlite3-dev libbz2-dev libncurses5-dev libgdbm-dev liblzma-dev libssl-dev tcl-dev tk-dev libreadline-dev

よし。これで大丈夫だと思ってしまいそうですが実はまだ駄目です。

ハマりどころなのですが、例えばpython3.4.3をインストールするときにすでにsqliteを使わない形でビルドされています。(インストール時にはライブラリが入っていないので自動でそうなるんだと思う)
っていうかインストールするときにメッセージがでているはず。

というわけで上記ライブラリをインストールしたら、pythonもインストールし直しましょう。

もし、すでに色んなものをpip install しているとしたら、

pip freeze > requirements.txt

で吐き出しておきます。

僕はこれで解決しました。

めでたしめでたしです。

chatrate
頑張って生きてます。
https://chat-rate.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away