模块未找到错误:找不到名为'apscheduler'的模块。

4

这可能是一个小问题。

我不知道为什么会出现ModuleNotFoundError: No module named 'apscheduler'的错误,但我已经成功安装了APscheduler模块。

我尝试过卸载并重新安装APscheduler的特定版本,但它没有起作用。 我也尝试在virtualenv上安装,但也不起作用。

Python: | pip:20.3.3 | 版本:3.7.3 OS:Linux(Ubuntu 20.04)

from __future__ import absolute_import
import octoprint.plugin
from apscheduler.schedulers.background import BackgroundScheduler

from influxdb_client import InfluxDBClient, Point
import requests

def __init__(self):
    super().__init__()
    self.backgroundScheduler = BackgroundScheduler()

以下是日志记录:

Traceback (most recent call last):
  File "/home/pi/oprint/lib/python3.7/site-packages/octoprint/plugin/core.py", line 1298, in _import_plugin
    module = _load_module(module_name, spec)
  File "/home/pi/oprint/lib/python3.7/site-packages/octoprint/plugin/core.py", line 69, in _load_module
    return imp.load_module(name, f, filename, details)
  File "/home/pi/oprint/lib/python3.7/site-packages/octoprint/vendor/imp.py", line 238, in load_module
    return load_package(name, filename)
  File "/home/pi/oprint/lib/python3.7/site-packages/octoprint/vendor/imp.py", line 212, in load_package
    return _load(spec)
  File "<frozen importlib._bootstrap>", line 696, in _load
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/pi/oprint/lib/python3.7/site-packages/octoprint_CMfgDataAcquisition/__init__.py", line 13, in <module>
    from apscheduler.schedulers.background import BackgroundScheduler
ModuleNotFoundError: No module named 'apscheduler'

点击此处查看图片描述

已安装 APscheduler == 3.6.3。


你是否正在运行与安装模块时使用的相同的Python?有时设备可能安装了多个Python解释器。模块可能是为不同于编码所使用的Python安装的。 - hammi
3个回答

3
这个问题也在APScheduler的错误跟踪器上发布过(作为一个功能请求),并且其中包含了关键信息,但是在这里没有提供:执行sudo pip install APScheduler==3.6.3的输出: enter image description here 从路径(/usr/local/lib/python3.8/dist-packages)可以看出,OP正在Python 3.8上安装它,然后尝试从Python 3.7中导入它。
解决方法是使用Python 3.7进行安装:python3.7 -m pip install APScheduler==3.6.3。但请注意,3.6.3不是最新版本。

0

使用pip安装模块时不要使用sudo命令。 如果您已经设置了虚拟环境,请激活它,然后在没有sudo的情况下安装依赖项。

source {YOUR_VENV}/bin/activate    
pip install APscheduler==3.6.3

如果你看到了回溯信息,那么你正在使用位于/home/pi/oprint/lib/python3.7/site-packages/的包,而你正在将依赖项安装在/usr/lib/python3/dist-packages/中。

否则,请验证你的$PATH和$PYTHONPATH。


0

已解决 我也遇到了同样的问题。使用pip3安装没有成功。我从PyPi下载了APScheduler并直接安装,但是仍然出现了同样的问题。

我有一种预感,我重新启动了我的笔记本电脑,然后它就可以用了!我不知道为什么,我从来没有安装模块的问题,但是重启后它就可以用了... 你也可以试试!


1
您的回答可以通过提供更多支持性信息来改进。请[编辑]以添加更多细节,例如引用或文档,以便他人可以确认您的答案正确。您可以在帮助中心中找到有关编写良好答案的更多信息。 - Community

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接