ModuleNotFoundError: No module named 'apscheduler'

What is the problem?

When I install a plugin, there is an error "ModuleNotFoundError: No Module named 'apscheduler'". After I installed is, the plugin reported the same error.
image

What did you already try to solve it?

I tried to successfully install apscheduler via pip, and the apscheduler was been installed in virtualenv as well.

Complete Logs

2021-02-13 07:56:13,869 - octoprint.startup - INFO - ******************************************************************************
2021-02-13 07:56:13,870 - octoprint.startup - INFO - Starting OctoPrint 1.5.2
2021-02-13 07:56:13,870 - octoprint.startup - INFO - ******************************************************************************
2021-02-13 07:56:14,092 - octoprint.util.connectivity.connectivity_checker - INFO - Connectivity state is currently: online
2021-02-13 07:56:14,092 - octoprint.util.connectivity.connectivity_checker - INFO - Connecting to 8.8.8.8:53 is working
2021-02-13 07:56:14,092 - octoprint.util.connectivity.connectivity_checker - INFO - Resolving octoprint.org is working
2021-02-13 07:56:14,102 - octoprint.startup - INFO - Blacklist processing done, adding 12 blacklisted plugin versions: roomtemp (any), GcodeEditor (0.1.1), GcodeEditor (0.2.0), GcodeEditor (0.2.1), GcodeEditor (0.2.2), GcodeEditor (0.2.3), GcodeEditor (0.2.4), GcodeEditor (0.2.5), GcodeEditor (0.2.6), GcodeEditor (0.2.8), gcodeleveling (0.1.0), gcodeleveling (0.1.1)
2021-02-13 07:56:14,130 - octoprint.plugin.core - INFO - Loading plugins from /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins, /home/pi/.octoprint/plugins and installed plugin packages...
2021-02-13 07:56:14,795 - octoprint.plugin.core - ERROR - Error loading plugin CMfgDataAcquisition
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'
2021-02-13 07:56:14,840 - octoprint.plugin.core - INFO - Found 17 plugin(s) providing 17 mixin implementations, 34 hook handlers
2021-02-13 07:56:14,915 - octoprint.server.heartbeat - INFO - Starting server heartbeat, 900.0s interval
2021-02-13 07:56:14,921 - octoprint.server - INFO - Intermediary server started
2021-02-13 07:56:14,937 - octoprint.filemanager.storage - INFO - Initializing the file metadata for /home/pi/.octoprint/uploads...
2021-02-13 07:56:14,938 - octoprint.filemanager.storage - INFO - ... file metadata for /home/pi/.octoprint/uploads initialized successfully.
2021-02-13 07:56:14,940 - octoprint.server - INFO - Added new permission from plugin action_command_notification: PLUGIN_ACTION_COMMAND_NOTIFICATION_SHOW (needs: "Need(method='role', value='plugin_action_command_notification_show')")
2021-02-13 07:56:14,940 - octoprint.server - INFO - Added new permission from plugin action_command_notification: PLUGIN_ACTION_COMMAND_NOTIFICATION_CLEAR (needs: "Need(method='role', value='plugin_action_command_notification_clear')")
2021-02-13 07:56:14,941 - octoprint.server - INFO - Added new permission from plugin action_command_prompt: PLUGIN_ACTION_COMMAND_PROMPT_INTERACT (needs: "Need(method='role', value='plugin_action_command_prompt_interact')")
2021-02-13 07:56:14,941 - octoprint.server - INFO - Added new permission from plugin announcements: PLUGIN_ANNOUNCEMENTS_READ (needs: "Need(method='role', value='plugin_announcements_read')")
2021-02-13 07:56:14,942 - octoprint.server - INFO - Added new permission from plugin announcements: PLUGIN_ANNOUNCEMENTS_MANAGE (needs: "Need(method='role', value='plugin_announcements_manage'), Need(method='role', value='plugin_announcements_read')")
2021-02-13 07:56:14,942 - octoprint.server - INFO - Added new permission from plugin appkeys: PLUGIN_APPKEYS_ADMIN (needs: "Need(method='role', value='plugin_appkeys_admin')")
2021-02-13 07:56:14,942 - octoprint.server - INFO - Added new permission from plugin backup: PLUGIN_BACKUP_ACCESS (needs: "Need(method='role', value='plugin_backup_access')")
2021-02-13 07:56:14,943 - octoprint.server - INFO - Added new permission from plugin firmware_check: PLUGIN_FIRMWARE_CHECK_DISPLAY (needs: "Need(method='role', value='plugin_firmware_check_display')")
2021-02-13 07:56:14,943 - octoprint.server - INFO - Added new permission from plugin logging: PLUGIN_LOGGING_MANAGE (needs: "Need(method='role', value='plugin_logging_manage')")
2021-02-13 07:56:14,943 - octoprint.server - INFO - Added new permission from plugin pi_support: PLUGIN_PI_SUPPORT_STATUS (needs: "Need(method='role', value='plugin_pi_support_check')")
2021-02-13 07:56:14,943 - octoprint.server - INFO - Added new permission from plugin pluginmanager: PLUGIN_PLUGINMANAGER_MANAGE (needs: "Need(method='role', value='plugin_pluginmanager_manage')")
2021-02-13 07:56:14,944 - octoprint.server - INFO - Added new permission from plugin pluginmanager: PLUGIN_PLUGINMANAGER_INSTALL (needs: "Need(method='role', value='plugin_pluginmanager_install'), Need(method='role', value='plugin_pluginmanager_manage')")
2021-02-13 07:56:14,944 - octoprint.server - INFO - Added new permission from plugin softwareupdate: PLUGIN_SOFTWAREUPDATE_CHECK (needs: "Need(method='role', value='plugin_softwareupdate_check')")
2021-02-13 07:56:14,944 - octoprint.server - INFO - Added new permission from plugin softwareupdate: PLUGIN_SOFTWAREUPDATE_UPDATE (needs: "Need(method='role', value='plugin_softwareupdate_update')")
2021-02-13 07:56:14,944 - octoprint.server - INFO - Added new permission from plugin softwareupdate: PLUGIN_SOFTWAREUPDATE_CONFIGURE (needs: "Need(method='role', value='plugin_softwareupdate_configure')")
2021-02-13 07:56:15,513 - octoprint.util.pip - INFO - Using "/home/pi/oprint/bin/python3 -m pip" as command to invoke pip
2021-02-13 07:56:16,040 - octoprint.util.pip - INFO - Version of pip is 20.3.3
2021-02-13 07:56:16,042 - octoprint.util.pip - INFO - pip installs to /home/pi/oprint/lib/python3.7/site-packages (writable -> yes), --user flag needed -> no, virtual env -> yes
2021-02-13 07:56:16,042 - octoprint.util.pip - INFO - ==> pip ok -> yes
2021-02-13 07:56:16,078 - octoprint.plugins.softwareupdate - INFO - Loaded version cache from disk
2021-02-13 07:56:16,090 - octoprint.plugin.core - INFO - Initialized 17 plugin implementation(s)
2021-02-13 07:56:16,099 - octoprint.plugin.core - INFO - 17 plugin(s) registered with the system:
|  Action Command Notification Support (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/action_command_notification
|  Action Command Prompt Support (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/action_command_prompt
|  Announcement Plugin (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/announcements
|  Anonymous Usage Tracking (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/tracking
|  Application Keys Plugin (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/appkeys
|  Backup & Restore (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/backup
|  Core Wizard (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/corewizard
|  Discovery (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/discovery
|  Error Tracking (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/errortracking
|  File Check (2020.8.7) (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint_file_check
|  Firmware Check (2020.9.23) (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint_firmware_check
|  GCode Viewer (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/gcodeviewer
|  Logging (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/logging
|  Pi Support Plugin (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/pi_support
|  Plugin Manager (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/pluginmanager
|  Software Update (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/softwareupdate
|  Virtual Printer (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/virtual_printer
Prefix legend: ! = disabled, # = blacklisted, * = incompatible
2021-02-13 07:56:16,122 - octoprint.environment - INFO - Detected environment is Python 3.7.3 under Linux (linux). Details:
|  hardware:
|      cores: 4
|      freq: 1500.0
|      ram: 3959984128
|  os:
|      bits: 32
|      id: linux
|      platform: linux
|  plugins:
|      pi_support:
|          model: Raspberry Pi 4 Model B Rev 1.2
|          octopi_version: 0.18.0
|          throttle_state: '0x0'
|  python:
|      pip: 20.3.3
|      version: 3.7.3
|      virtualenv: /home/pi/oprint
2021-02-13 07:56:16,132 - octoprint.server - INFO - Reset webasset folder /home/pi/.octoprint/generated/webassets...
2021-02-13 07:56:16,149 - octoprint.server - INFO - Reset webasset folder /home/pi/.octoprint/generated/.webassets-cache...
2021-02-13 07:56:16,521 - octoprint.server - INFO - Shutting down intermediary server...
2021-02-13 07:56:16,891 - octoprint.server - INFO - Intermediary server shut down
2021-02-13 07:56:16,892 - octoprint.events - INFO - Processing startup event, this is our first event
2021-02-13 07:56:16,893 - octoprint.events - INFO - Adding 1 events to queue that were held back before startup event
2021-02-13 07:56:16,893 - octoprint.filemanager - INFO - Adding backlog items from all storage types to analysis queue...
2021-02-13 07:56:16,896 - octoprint.filemanager - INFO - Added 0 items from storage type "local" to analysis queue
2021-02-13 07:56:16,897 - octoprint.server.util.watchdog - INFO - Running initial scan on watched folder...
2021-02-13 07:56:16,900 - octoprint.server.util.watchdog - INFO - ... initial scan done.
2021-02-13 07:56:17,709 - octoprint.plugins.discovery - INFO - Registered 'OctoPrint instance on octopi._http._tcp.local.' for _http._tcp.local.
2021-02-13 07:56:18,520 - octoprint.plugins.discovery - INFO - Registered 'OctoPrint instance on octopi._octoprint._tcp.local.' for _octoprint._tcp.local.
2021-02-13 07:56:18,543 - octoprint.plugins.discovery - INFO - Registered OctoPrint instance on octopi for SSDP
2021-02-13 07:56:18,568 - octoprint.server - INFO - Listening on http://127.0.0.1:5000
2021-02-13 07:56:18,626 - octoprint.plugins.pluginmanager - INFO - Loaded plugin repository data from disk, was still valid
2021-02-13 07:56:18,970 - octoprint.server.util.sockjs - INFO - New connection from client: ::ffff:192.168.43.193
2021-02-13 07:56:19,195 - octoprint.server.util.flask - INFO - Passively logging in user zhaojunqin from ::ffff:192.168.43.193
2021-02-13 07:56:19,196 - octoprint.access.users - INFO - Logged in user: zhaojunqin
2021-02-13 07:56:19,207 - octoprint.util.pip - INFO - Using "/home/pi/oprint/bin/python3 -m pip" as command to invoke pip
2021-02-13 07:56:19,216 - octoprint.util.pip - INFO - pip installs to /home/pi/oprint/lib/python3.7/site-packages (writable -> yes), --user flag needed -> no, virtual env -> yes
2021-02-13 07:56:19,244 - octoprint.util.pip - INFO - ==> pip ok -> yes
2021-02-13 07:56:19,279 - octoprint.plugins.softwareupdate - INFO - Minimum free storage across all update relevant locations is 28.9GB. That is considered sufficient for updating.
2021-02-13 07:56:19,279 - octoprint.plugins.softwareupdate - INFO - Fetching check overlays from https://plugins.octoprint.org/update_check_overlay.json
2021-02-13 07:56:19,740 - octoprint.plugins.pluginmanager - INFO - Loaded notice data from disk, was still valid
2021-02-13 07:56:20,901 - octoprint.server.preemptive_cache - INFO - Preemptively caching / (ui _default) for {'base_url': 'http://192.168.43.234/', 'path': '/', 'query_string': 'l10n=en'}
2021-02-13 07:56:21,771 - octoprint.server.util.sockjs - INFO - User zhaojunqin logged in on the socket from client ::ffff:192.168.43.193
2021-02-13 07:56:23,834 - octoprint.server.util.flask - INFO - Passively logging in user zhaojunqin from ::ffff:192.168.43.193
2021-02-13 07:56:23,835 - octoprint.access.users - INFO - Logged in user: zhaojunqin
2021-02-13 07:56:56,791 - octoprint.server.preemptive_cache - INFO - ... done in 35.89s
2021-02-13 07:57:01,518 - octoprint.server.util.sockjs - INFO - Client connection closed: ::ffff:192.168.43.193
2021-02-13 07:57:02,494 - octoprint.server.util.sockjs - INFO - New connection from client: ::ffff:192.168.43.193
2021-02-13 07:57:02,577 - octoprint.server.util.flask - INFO - Passively logging in user zhaojunqin from ::ffff:192.168.43.193
2021-02-13 07:57:02,577 - octoprint.access.users - INFO - Logged in user: zhaojunqin
2021-02-13 07:57:03,821 - octoprint.server.util.sockjs - INFO - User zhaojunqin logged in on the socket from client ::ffff:192.168.43.193

Additional information about your setup

OctoPrint==1.5.2
OctoPi==0.18.0
OS==Linux(Ubuntun 20.04)

You probably need to get in touch with the plugin author so they can add the dependency to the plugin, in the setup file.