ModuleNotFoundError: No module named 'apscheduler' in Flask

ModuleNotFoundError: No module named 'apscheduler' in Flask

我想使用 APScheduler 设置带有调度程序的 flask 服务器。

不幸的是 flask 不想 运行 与 APScheduler - 它在导入时崩溃。

我试过 APScheduler==2.1.2 并使用:

from flask import Flask
from apscheduler.scheduler import Scheduler

app = Flask(__name__)

我也尝试了最新的 APScheduler==3.6.3 并使用:

from flask import Flask
from apscheduler.schedulers.background import BackgroundScheduler

app = Flask(__name__)

在 运行ning flask run 之后的两种情况下,我得到:

Error: While importing "app", an ImportError was raised:

Traceback (most recent call last):
  File "C:\(...)\Continuum\anaconda3\lib\site-packages\flask\cli.py", line 235, in locate_app
    __import__(module_name)
  File "C:\(...)\app\__init__.py", line 2, in <module>
    from apscheduler.schedulers.background import BackgroundScheduler
ModuleNotFoundError: No module named 'apscheduler'

我尝试用 pippip3conda 安装 Apscheduler - 结果相同。我试过 Flask-APScheduler - 同样的结果。

PyCharm 识别并提示 APScheduler(以及 IPython),但 flask 不会。

已解决。问题是我的电脑上安装了 2 flasks:

  • 第一个是全球
  • 第二个仅适用于 我的 venv

flask run 正在执行全局变量(因为在 Path 环境变量中只有这个路径),但是 APScheduler 安装在我的 venv 中。我删除了全局 flask 并将 Path 变量更改为我的 venv。我不知道,这是否是解决问题的正确方法,但现在可以了。