如何解决Python3.5中_sqlite3、pysqlite2缺失及Jupyter运行报错问题
解决Python 3.5.2下Jupyter Notebook的_sqlite3缺失问题
嘿,我来帮你搞定这个问题!你遇到的核心问题是Python 3.5.2在编译的时候没有包含内置的_sqlite3模块,而Jupyter Notebook依赖这个模块来管理会话,所以才会触发报错。另外pysqlite2是Python 2时代的包,Python 3已经用内置的sqlite3替代它了,所以不用纠结这个包的安装。下面是两种可行的解决办法:
方案一:重新编译Python 3.5.2(修复内置_sqlite3模块)
这个方案需要你先安装sqlite的开发依赖,再重新编译Python,确保_sqlite3被正确编译进去:
第一步:安装sqlite开发库
根据你的操作系统执行对应的命令:- Ubuntu/Debian系统:
sudo apt-get update && sudo apt-get install libsqlite3-dev -y - CentOS/RHEL系统:
sudo yum install sqlite-devel -y - macOS系统(需先安装Homebrew):
brew install sqlite3
- Ubuntu/Debian系统:
第二步:重新编译Python 3.5.2
- 下载并解压Python 3.5.2源码包(若之前未保存):
wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz tar -xzf Python-3.5.2.tgz cd Python-3.5.2 - 配置编译选项(macOS用户需额外指定sqlite路径:
--with-sqlite3=/usr/local/opt/sqlite3):./configure --enable-optimizations - 编译并安装(用
altinstall避免覆盖系统自带Python):make -j$(nproc) sudo make altinstall
- 下载并解压Python 3.5.2源码包(若之前未保存):
第三步:验证修复效果
打开Python 3.5终端,输入以下命令,无报错则说明_sqlite3模块正常:import sqlite3
方案二:用Conda安装预编译的Python 3.5.2和Jupyter(更省心)
如果你不想折腾源码编译,用Conda安装预编译好的环境是更简单的选择,这些环境已经包含所有必要依赖:
第一步:安装Miniconda3
下载对应系统的Miniconda3安装包并执行安装(以Linux x64为例):wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh安装时按提示操作,记得让Conda加入系统PATH。
第二步:创建Python 3.5.2虚拟环境
conda create -n py35_env python=3.5.2 -y第三步:激活环境并安装Jupyter
conda activate py35_env conda install jupyter -y第四步:启动Jupyter Notebook
直接运行命令即可正常启动:jupyter notebook
两种方案都能解决你的问题,方案二更省心,推荐优先尝试。
内容的提问来源于stack exchange,提问作者veilupearl
相关产品推荐
相关产品推荐

