抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

在宝塔面板配置好了“邮箱消息通道”后依然收不到登录警示邮件,而且使用 SSH 登录阿里云 ECS 服务器的时候出现一个错误提示:

1
2
3
4
5
6
7
8
Welcome to Alibaba Cloud Elastic Compute Service !

Traceback (most recent call last):
File "/www/server/panel/class/ssh_security.py", line 11, in <module>
import public,os,re,send_mail,json
File "/www/server/panel/class/send_mail.py", line 13, in <module>
import smtplib, requests
ImportError: No module named requests`

字面意思是缺少“requests”模块,那么我们就安装一下这个模块:

1
$ pip install requests

很不幸,又出现错误❌:

1
-bash: pip: command not found

看来是并没有安装 pip 包,检查下服务器安装的 Python 版本吧:

1
$ python --version

输出结果是:Python 2.7.5,问题就在这里,Python 2.7.9 及更高版本(在 python2 系列上)和 Python 3.4 及更高版本才默认包含 pip 包管理器,那么就把 Python 升级到最新版本吧。

升级 Python 3

1
2
$ yum update -y
$ yum install -y python3

检查版本

1
$ python3 -V

设置 Python 3 为默认版本

查看 Python 路径

1
$ ls -al /usr/bin | grep python

python 后面链接的是 python 2.7,所以,执行 python 就相当于执行 python 2.7,我们需要将 python 链接至 python3。

1
$ ln -s /usr/local/bin/python3 /usr/bin/python

安装插件

安装成功后再执行:

1
2
3
$ pip --vesion

$ pip install requests

这次就不会报错了,而且使用 SSH 登录服务器可以正常收到通知邮件了。

配置 yum

将 Python3 设置为默认编译器后有一个问题,就是会导致 yum 不能使用,因为 yum 需要用 python2 编译,不过也有解决办法,就是在 yum 脚本中将编译器指定为 Python2 即可。这里需要修改两个文件:/usr/bin/yum/usr/libexec/urlgrabber-ext-down

1
2
$ vim /usr/bin/yum
$ vim /usr/libexec/urlgrabber-ext-down

分别打开这两个文件,将第一行改为: #!/usr/bin/python2.7 ,然后保存即可。

执行:$ yum --version ,查看是否执行成功。

评论