Ubuntu 16.04执行sudo certbot --apache命令时出现ImportError求助
解决Ubuntu 16.04中Certbot执行时的ImportError: No module named configobj问题
这个问题我之前维护老服务器时碰到过,本质是Certbot依赖的Python模块缺失了——具体就是configobj这个关键模块没安装。下面给你几种解决思路:
1. 直接安装缺失的configobj模块
从报错路径能看出来你的系统用的是Python 2.7,所以对应安装Python2版本的模块:
- 优先用系统包管理器安装(最稳定):
sudo apt-get install python-configobj - 如果系统包找不到,用pip2安装:
sudo pip2 install configobj
安装完成后再重新执行你的Certbot命令:
sudo certbot --apache -d mysite.com
2. 改用官方PPA安装Certbot(推荐长期解决方案)
你当前的Certbot是通过pip安装的(路径在/usr/local/bin/certbot),这种方式在老系统上容易出现依赖不兼容的问题。Ubuntu 16.04官方推荐用PPA安装适配好的版本:
- 先卸载当前pip安装的Certbot:
sudo pip2 uninstall certbot - 添加Certbot官方PPA:
sudo add-apt-repository ppa:certbot/certbot - 更新系统软件源:
sudo apt-get update - 安装适配Apache的Certbot包:
sudo apt-get install python-certbot-apache
用这种方式安装后,所有依赖都会被系统自动处理,后续执行Certbot命令也不会再出现这类模块缺失问题。
内容的提问来源于stack exchange,提问作者Toolkit
相关产品推荐
相关产品推荐

