Kali Linux中sqlmap报/usr/bin/python3不存在的解决求助
解决Kali Linux中sqlmap因Python3软链接缺失导致的报错问题
这问题我之前在Kali上踩过坑,本质就是系统里的Python 3没有创建python3的软链接,导致sqlmap脚本开头指定的#!/usr/bin/python3找不到对应的解释器,但实际上你的Python 3已经装好了——毕竟python -V都显示是3.8.6了。下面给你两种靠谱的解决方法:
方法一:手动创建python3软链接(最直接)
因为你的/usr/bin/python已经指向了Python 3.8.6,我们只需要给它加个python3的别名链接:
- 先确认当前Python的指向(可选,但能帮你确认情况):
输出应该类似这样:ls -l /usr/bin/pythonlrwxrwxrwx 1 root root 9 Aug 1 10:00 /usr/bin/python -> python3.8,说明确实是指向Python3的。 - 创建软链接:
sudo ln -s /usr/bin/python /usr/bin/python3 - 验证是否成功:
此时应该会输出python3 -VPython 3.8.6,再运行sqlmap就能正常启动了。
方法二:修改sqlmap的脚本解释器行(更灵活)
如果不想修改系统的软链接,也可以直接改sqlmap脚本的开头:
- 打开sqlmap的主脚本文件:
sudo nano /usr/bin/sqlmap - 找到第一行的
#!/usr/bin/python3,把它改成下面任意一种:- 直接用现有的Python路径:
#!/usr/bin/python - 用环境变量找默认Python(推荐,适配性更强):
#!/usr/bin/env python
- 直接用现有的Python路径:
- 保存退出nano:按
Ctrl+O回车确认保存,再按Ctrl+X退出。 - 现在运行
sqlmap就不会再报找不到解释器的错了。
补充:用update-alternatives规范管理Python版本(进阶)
如果你以后可能会切换不同的Python版本,可以用系统的替代方案工具来管理:
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python 1
之后如果要切换Python3版本,只要运行:
sudo update-alternatives --config python3
按提示选择对应的版本编号即可。
内容的提问来源于stack exchange,提问作者Ryoma




