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

已安装APScheduler仍报ModuleNotFoundError问题求助

解决APScheduler ModuleNotFoundError问题

问题现象

执行启动命令时触发模块找不到错误:

root@visa-service-5fcc84fc6f-hfhxn:~/visa# python3.10 main_api.py
Traceback (most recent call last):
  File "/root/visa/main_api.py", line 3, in <module>
    from task.refresh_token import RefreshToken
  File "/root/visa/task/refresh_token.py", line 3, in <module>
    from apscheduler.schedulers.background import BackgroundScheduler
ModuleNotFoundError: No module named 'apscheduler'

已尝试执行pdm add APScheduler和pdm add apscheduler安装依赖,项目pyproject.toml中也已声明apscheduler>=3.10.4,但问题仍未解决。

排查与解决步骤

1. 激活PDM虚拟环境后运行

PDM安装的依赖默认存放在专属虚拟环境中,直接使用系统python3.10执行脚本会读取全局包,无法访问虚拟环境内的依赖:

  • 检查是否已激活虚拟环境:执行echo $VIRTUAL_ENV,无输出则说明未激活
  • 激活虚拟环境:
    pdm shell
    
    激活完成后再运行python main_api.py

2. 用PDM Run命令直接执行脚本

跳过环境激活步骤,直接通过PDM调用虚拟环境内的解释器运行脚本:

pdm run python main_api.py

3. 强制重新同步所有依赖

可能存在依赖安装不完整或缓存异常,执行以下命令清理现有依赖并重新安装:

pdm sync --clean

4. 验证Python解释器一致性

确认启动脚本使用的Python解释器与PDM依赖环境的解释器一致:

  • 查看PDM使用的Python路径:pdm info --python
  • 查看系统python3.10路径:which python3.10
    若路径不同,需使用PDM对应的解释器路径运行脚本,示例:
/path/to/pdm/python main_api.py

5. 临时全局安装(不推荐)

若以上方法均无效,可临时将APScheduler安装到系统Python环境用于测试:

python3.10 -m pip install apscheduler>=3.10.4

注:该方式会破坏项目依赖隔离性,仅作为临时排查手段,长期使用仍建议通过PDM管理环境。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 14:02:51