首页
首页
文章目录
  1. 简介
  2. 安装python3和Django步骤
  3. 解决 No module named _sqlite3问题

Centos7安装python3+Django启动报ModuleNotFoundError: No module named '_sqlite3'解决方案

简介

这段时间 考虑把自己之前的写的运维发布管理平台重构下,顺便从python2转到python3上。手里刚好有一台Centos7的服务器,然后在我安装好python3和django后,启动django项目提示报错ModuleNotFoundError: No module named ‘_sqlite3’,下面是我的解决方法。

安装python3和Django步骤

1
2
3
4
5
6
7
8
9
10
11
12
yum groupinstall 'Development Tools'
yum -y install zlib*
yum -y install openssl-devel
yum install libffi-devel -y
wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz
tar -zxf Python-3.7.1.tgz
cd Python-3.7.1
./configure prefix=/usr/local/python3
make && make install
mv /usr/bin/python /usr/bin/python2
ln -s /usr/local/bin/python3 /usr/bin/python
pip3 install django

注意 Centos7安装python3后如果将系统变量更改为python3后yum将会失效,原因是yum使用的python2编写。

1
2
vim /usr/bin/yum
#!/usr/bin/python 修改为 #!/usr/bin/python2

解决 No module named _sqlite3问题

原因是由于上面安装python3时未安装sqlite3

下载安装sqlite3

1
2
3
4
5
6
7
8
9
10
wget https://www.sqlite.org/2017/sqlite-autoconf-3210000.tar.gz --no-check-certificate
tar -zxf sqlite-autoconf-3210000.tar.gz
cd sqlite-autoconf-3210000
./configure -–prefix=/usr/local/sqlite3
make && make install
# 在重新安装python3.7
cd Python-3.7.1
# 修改setup.py,在sqlite_inc_paths中添加 /usr/local/sqlite3 和 /usr/local/sqlite3/include,看下图,之后编译安装
./configure --prefix=/usr/local/python3 --with-ssl
make && make install

修改setup.py示例

以上

ps:修复了文章里面俩个小错误.

End!

支持一下
扫一扫,我会更有动力更新
  • 微信扫一扫
  • 支付宝扫一扫