安装IPython3内核失败,寻求Jupyter升级Python3.8的简便方案
无需重新编译Python,解决CentOS7上Jupyter升级Python3.8内核的_sqlite3缺失问题
你遇到的ModuleNotFoundError: No module named '_sqlite3'是因为手动编译的Python3.8未链接系统sqlite库,以下是几种无需重新编译的简便替代方案:
方案1:使用Conda创建独立Python3.8环境(推荐)
Conda会自动处理依赖,自带完整的sqlite3支持:
- 安装Miniconda或Anaconda后,创建Python3.8环境:
conda create -n py38 python=3.8 -y - 激活环境:
conda activate py38 - 安装ipykernel并注册到Jupyter:
conda install ipykernel -y python -m ipykernel install --user --name py38 --display-name "Python 3.8"
完成后重启Jupyter,即可选择Python3.8内核。
方案2:通过系统软件源安装预编译的Python3.8
CentOS7可通过IUS/EPEL源获取官方预编译的Python3.8包,自带sqlite3支持:
- 安装依赖源:
yum install epel-release https://repo.ius.io/ius-release-el7.rpm -y - 安装Python3.8及pip:
yum install python38 python38-pip -y - 安装ipykernel并注册:
python3.8 -m pip install ipykernel python3.8 -m ipykernel install --user --name py38 --display-name "Python 3.8"
方案3:临时禁用IPython历史记录(不推荐长期使用)
如果只是临时需要完成内核安装,可以通过关闭IPython的sqlite历史功能绕过错误:
- 生成IPython配置文件:
python3.8 -m ipython profile create - 编辑
~/.ipython/profile_default/ipython_config.py,添加或修改:c.HistoryManager.enabled = False - 再次执行内核安装命令:
python3 -m ipykernel install --user
此方法会丢失IPython的命令历史记录功能,仅作为临时应急方案。
内容的提问来源于stack exchange,提问作者Asko Juvonen
相关产品推荐
相关产品推荐

