1

这可能是一个愚蠢的问题。

我不知道我为什么要面对ModuleNotFoundError: No module named 'apscheduler',但我已经成功安装了 APscheduler。

我已经尝试卸载它并重新安装特定版本的APscheduler,但它没有工作。我也尝试在 virtualenv 上安装它,但效果不佳。

蟒蛇:| 点数:20.3.3 | 版本:3.7.3 操作系统: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 已安装。

4

3 回答 3

0

使用 pip 安装模块时不要使用 sudo。如果您已经设置了 virtualenv,请激活它,然后在不使用 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

于 2021-02-13T10:27:58.183 回答
0

在这里解决了同样的问题。使用 pip3 安装不起作用。我从 PyPi 下载了 APScheduler 并直接安装,同样的问题。

我有预感,我重新启动了我的笔记本电脑,它工作了!我不知道为什么,我安装模块从来没有遇到过问题,但是重启后它就可以工作了......试试看!

于 2021-11-29T19:22:19.080 回答
0

这也发布到 APScheduler 的错误跟踪器(作为功能请求不少于),它包含此处未在 SO 上提供的关键信息:输出sudo pip install APScheduler==3.6.3在此处输入图像描述

从路径 (/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 不是最新版本。

于 2021-02-14T21:13:20.897 回答