我正在使用Ubuntu 16.04,并且尝试学习Django,并将其安装在虚拟环境中并命名为myenv
,然后启动了一个名为mysite
的项目。
当我尝试运行manage.py
文件时,它一直说未安装sqlite3。我确实安装了它,但是它说的是同样的错误。当我运行python3 manage.py migrate
时,它说:
"ModuleNotFoundError: No module named '_sqlite3'"
我使用以下命令安装了sqlite:
sudo add-apt-repository ppa:jonathonf/backports
sudo apt-get upgrade
sudo apt-get install sqlite3
答案 0 :(得分:0)
这与ModuleNotFoundError: No module named '_sqlite3'
有关问题可能是您的Python安装程序不包含sqlite3,该文件通常在标准库中。
您应该尝试安装libsqlite3-dev(sudo apt install libsqlite3-dev
),然后重新安装Python。
答案 1 :(得分:0)
我在Ubuntu Xenial 3.7
中也使用Python 16.04
看到了相同的错误,以下内容为我修复了该错误:
安装libsqlite3:
sudo apt install libsqlite3-dev
重新安装Python 3.7:
wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz
tar -xvf Python-3.7.3.tgz
cd Python-3.7.3/
./configure
make
sudo make install
sudo ln -s /usr/local/bin/python3.7 /usr/bin/python3
答案 2 :(得分:0)
我使用的是python 3.6和Django版本1.11.3
,在执行以下步骤时,我遇到了相同的错误:
安装pysqlite3
:
pip install pysqlite3
将base.py
第33行更改为:
from pysqlite3 import dbapi2 as Database
base.py
文件位于您的virtualenv的“ lib”目录下:path_to_virtualenv/lib/python_interpreter_name/site-packages/django/db/backends/sqlite3/base.py
就我而言:path_to_my_venv/lib/python3.6/site-packages/django/db/backends/sqlite3/base.py
更新:
如果在较新的django版本(例如“ 2.0.7”)中遇到相同的问题,则应更改base.py
的第8行。(已通过django版本“ 2.0.7”测试)