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

求助:Jupyter Notebook无法找到api模块,但其他Python文件可正常导入

解决Jupyter Notebook无法导入本地api模块的问题

问题核心:你的tests目录下的Python文件能正常导入api模块,是因为执行这些文件时,Python的sys.path包含了/zen_api根目录(比如你在根目录下运行测试文件,或者测试文件里有路径处理逻辑);但Jupyter Notebook默认将当前notebook所在的/zen_api/playground作为工作目录,这个目录的上级目录不在sys.path中,所以找不到api模块。

下面是几种实用的解决方法:

  • 临时解决:在Notebook中手动添加根目录到sys.path
    在test.ipynb的最开始单元格添加以下代码,执行后再导入api模块:

    import sys
    from pathlib import Path
    
    # 获取当前notebook所在目录的父目录(即/zen_api)
    root_dir = Path.cwd().parent
    sys.path.append(str(root_dir))
    
  • 更便捷的方式:从根目录启动Jupyter
    关闭当前运行的Jupyter服务,切换到/zen_api目录下,再执行jupyter lab或jupyter notebook命令启动服务。此时Jupyter的工作目录是根目录,直接就能导入api模块,无需额外修改路径。

  • 永久生效:配置PYTHONPATH环境变量
    在虚拟环境的激活脚本中添加路径配置:

    • Linux/macOS:打开虚拟环境下的bin/activate文件,添加一行:
      export PYTHONPATH="/path/to/zen_api:$PYTHONPATH"
      
    • Windows:打开虚拟环境下的Scripts/activate.bat文件,添加一行:
      set PYTHONPATH=C:\path\to\zen_api;%PYTHONPATH%
      

    保存后重新激活虚拟环境,再启动Jupyter,系统会自动将根目录加入sys.path,后续所有Notebook都能直接导入api模块。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 07:57:15