You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

相同Python版本下SSH会话无法导入Jupyter可用库的问题排查

问题原因及解决方案

核心原因

SSH会话和Jupyter环境使用的Python模块搜索路径不一致,Adafruit_MotorHAT库没有安装在SSH会话的Python能搜索到的路径下,常见触发场景如下:

  • Jupyter内核绑定了带该库的虚拟环境,SSH下默认启动的是全局Python,没有加载对应虚拟环境
  • 库安装在了当前用户家目录的~/.local/lib/python3.6/site-packages路径下,你提供的SSH端sys.path输出里没有包含这个路径,因此全局Python找不到
  • 安装库时分别使用了sudo pip和普通用户身份安装两种方式,导致库分别安装到了全局路径和用户路径,两端调用时权限/环境匹配不上

排查&解决步骤

  1. 对比两端模块搜索路径
    在Jupyter中执行以下代码,对比和SSH端的sys.path差异:
import sys
print(sys.path)

如果Jupyter的输出里包含/home/jetbot/.local/lib/python3.6/site-packages这类用户目录路径,说明库是安装在用户目录下的,SSH端未加载该路径。

  1. 路径缺失问题修复
    在SSH的Python交互终端里先执行以下代码,再尝试导入库,验证是否为路径问题:
import sys
sys.path.append("/home/jetbot/.local/lib/python3.6/site-packages")
from Adafruit_MotorHAT import Adafruit_MotorHAT, Adafruit_DCMotor

如果导入成功,可进行永久修复:在SSH的~/.bashrc文件末尾添加以下内容:

export PYTHONPATH="/home/jetbot/.local/lib/python3.6/site-packages:$PYTHONPATH"

添加后执行source ~/.bashrc即可生效。

  1. 虚拟环境适配
    如果不是路径问题,检查Jupyter是否使用了虚拟环境:在Jupyter中执行以下代码查看Python可执行文件路径:
import sys
print(sys.executable)

如果输出不是/usr/bin/python3,而是类似/home/jetbot/venv/bin/python3的路径,说明Jupyter用了虚拟环境,SSH下需要先激活对应虚拟环境再运行Python:

source /home/jetbot/venv/bin/activate
python3
  1. 全局重装兜底方案
    如果以上操作都不生效,直接在SSH会话中执行全局安装命令,确保库安装到全局搜索路径下:
sudo pip3 install Adafruit-MotorHAT

内容的提问来源于stack exchange,提问作者resolver101

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 14:36:04