遇到一个奇怪的问题执行certbot会报错,moudle conflictNo module,但是yum install certbot的时候没有报错。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
certbot
Traceback (most recent call last):
File "/bin/certbot", line 7, in <module>
from certbot.main import main
File "/usr/lib/python2.7/site-packages/certbot/main.py", line 17, in <module>
from certbot import account
File "/usr/lib/python2.7/site-packages/certbot/account.py", line 17, in <module>
from acme import messages
File "/usr/lib/python2.7/site-packages/acme/messages.py", line 7, in <module>
from acme import challenges
File "/usr/lib/python2.7/site-packages/acme/challenges.py", line 11, in <module>
import requests
File "/usr/lib/python2.7/site-packages/requests/__init__.py", line 58, in <module>
from . import utils
File "/usr/lib/python2.7/site-packages/requests/utils.py", line 32, in <module>
from .exceptions import InvalidURL
File "/usr/lib/python2.7/site-packages/requests/exceptions.py", line 10, in <module>
from .packages.urllib3.exceptions import HTTPError as BaseHTTPError
File "/usr/lib/python2.7/site-packages/requests/packages/__init__.py", line 95, in load_module
raise ImportError("No module named '%s'" % (name,))
ImportError: No module named 'requests.packages.urllib3'

pip install requests urllib3 pyOpenSSL --force --upgrade
certbot
An unexpected error occurred:
VersionConflict: (setuptools 0.9.8 (/usr/lib/python2.7/site-packages), Requirement.parse('setuptools>=1.0'))
pip install --upgrade pip setuptools
certbot
ls

meat

弄了很久决定抛弃yum直接使用 pip安装certbot,安装完成后,发现不再报错:

1
2
3
4
5
6
yum install openssl-devel python-devel
pip install --upgrade pip setuptools
pip install certbot
pip install requests urllib3 pyOpenSSL --force --upgrade

certbot -d tab.deoops.com  --manual --preferred-challenges dns certonly

小结

本来是不想写这篇博文的,估摸着letsencrypt官方 迟早会修复certbot rpm包的,结果一等就是两个月, letsencrypt都没修复 rpm包。

最近多台服务器的certbot安装又遇到这个不兼容的问题,每次去其它的服务器上找command history有点麻烦,所以记下来方便查找。