Author | Contact |
---|---|
Brandon Marlowe | [email protected] |
MMPM
, the MagicMirror Package Manager is a self updating command line and graphical interface designed to simplify the installation, removal, and maintenance of MagicMirror packages.
The MagicMirror Package Manager is featured as an alternative installation method on the MagicMirror Documentation.
Features
- Installation, removal, updating, and upgrading of packages
- Search for and show package details
- Adding external packages (think of it like PPAs for Ubuntu)
- Tab-Autocompletion for the CLI
- Quick MagicMirror config editing access
- Installing MagicMirror
- Hide/Show MagicMirror modules
- Start/Stop/Restart MagicMirror (works with
npm
,pm2
, anddocker-compose
) - RaspberryPi 3 screen rotation
Quick Installation Guide
sudo apt install libffi-dev nginx-full -y
python3 -m pip install --upgrade --no-cache-dir mmpm
mmpm --guided-setup
echo 'export PATH="$PATH:$HOME/.local/bin"' >> ~/.bashrc
source ~/.bashrc
Possible Installation Error
If you happen to see the following after installing and running a mmpm
command:
Traceback (most recent call last):
File "setup.py", line 2, in <module>
from setuptools import setup, find_packages
File "/usr/local/lib/python3.7/site-packages/setuptools/__init__.py", line 12, in <module>
from setuptools.extension import Extension
File "/usr/local/lib/python3.7/site-packages/setuptools/extension.py", line 7, in <module>
from setuptools.dist import _get_unpatched
File "/usr/local/lib/python3.7/site-packages/setuptools/dist.py", line 16, in <module>
import pkg_resources
File "/usr/local/lib/python3.7/site-packages/pkg_resources.py", line 1479, in <module>
register_loader_type(importlib_bootstrap.SourceFileLoader, DefaultProvider)
AttributeError: module 'importlib._bootstrap' has no attribute 'SourceFileLoader'
Run the following command to shore up your pip
version:
python -m ensurepip --upgrade # you may need to call python3 instead of python
Wiki
Look to theMake sure you've followed all the instructions for installation, configuring environment variables, and the hide/show modules feature setup.
Note: the Environment Variables setup is extremely important.
Creating Issues
Consult the Wiki before posting any issues, and use one of the provided templates (if possible) when filing an issue.
For any bugs encountered, examine the log files by running mmpm log
. If creating a GitHub issue is
needed, use one of the issue templates, and please attach the log files, your config.js
, and
provide what steps can be take to reproduce the bug. You can create a ZIP archive of the MMPM log
files files through the Control Center of the GUI, or by running mmpm log --zip
through the CLI. If for some reason you cannot access mmpm log --zip
, you can find the files in ~/.config/mmpm/log
and /var/log/nginx
. All log files for MMPM in /var/log/nginx
will be prefixed with either mmpm-access
or mmpm-error
.
GUI Preview
Control Center:
Config Editor:
Active Processes:
MMPM/MagicMirror Marketplace:
MMPM/MagicMirror Locally Installed Packages:
Potential Problems
This project is entirely dependent on the structure of the MagicMirror 3rd Party Modules page. The HTML is parsed, and the appropriate text of each module is extracted. If for some reason any of the information is not displayed correctly, it is most likely due to someone changing the structure of the page. Ideally, in the future, a database will be constructed, and things will be handeled in a more formal, predictable way.