终端使用Shodan时pip安装成功但shodan命令无法识别怎么解决
Shodan命令无法识别问题修复方案
核心原因
你使用--user参数安装的Python包,可执行文件会默认放在当前Python的用户级Scripts目录下,该目录默认不在系统PATH环境变量中,导致系统无法找到shodan命令。
修复步骤
步骤1:获取Shodan可执行文件所在路径
打开cmd,执行以下命令:
python -m site --user-site
该命令会返回用户包安装路径,格式类似:C:\Users\你的用户名\AppData\Roaming\Python\PythonXX\site-packages
将路径末尾的site-packages替换为Scripts,得到的就是shodan.exe所在的完整目录,示例如下:
原路径:C:\Users\zhangsan\AppData\Roaming\Python\Python311\site-packages
替换后路径:C:\Users\zhangsan\AppData\Roaming\Python\Python311\Scripts
步骤2:将路径添加到系统环境变量
- 右键「此电脑」→ 选择「属性」→ 点击左侧「高级系统设置」→ 点击弹窗底部的「环境变量」
- 在「用户变量」区域找到名为
Path的条目,双击打开编辑界面 - 点击「新建」,将步骤1中替换得到的Scripts目录完整路径粘贴进去
- 依次点击所有弹窗的「确定」保存修改
- 注意:必须关闭所有已打开的cmd窗口,重新启动cmd后修改才会生效
临时替代方案
如果不想修改环境变量,可以直接用模块调用的方式执行shodan命令,格式为python -m shodan [命令参数],效果和直接调用shodan完全一致,示例:
# 查看shodan版本 python -m shodan version # 初始化shodan api python -m shodan init 你的APIKEY
多Python版本兼容排查
如果按上述步骤操作后依然无法调用,执行pip -V查看当前pip对应的Python版本和路径,确认和执行python -m site --user-site的Python版本一致,若不一致可以用以下命令重新安装,保证和当前Python版本匹配:
python -m pip install -U --user shodan
内容的提问来源于stack exchange,提问作者That one new guy
相关产品推荐
相关产品推荐

