Search code examples
pythonmemgraphdb

Python modules missing dependencies on Memgraph startup when I compile MAGE on my own


I recently compiled and installed MAGE by running the following command:

python3 setup build -p /usr/lib/memgraph/query_modules

I used the latest main branch for this (https://github.com/memgraph/mage). However, when I start up Memgraph, I receive numerous error messages indicating that the Python modules are missing dependencies.

This is the part of the error message:

[2023-09-18 07:53:41.139] [memgraph_log] [warning] Replication configuration will NOT be stored. When the server restarts, replication state will be forgotten.
[2023-09-18 07:53:41.206] [memgraph_log] [error] Unable to load module "/usr/lib/memgraph/query_modules/migrate.py"; Traceback (most recent call last):
  File "/usr/lib/memgraph/query_modules/migrate.py", line 3, in <module>
    import mysql.connector as mysql_connector
ModuleNotFoundError: No module named 'mysql'
. For more details, visit https://memgr.ph/modules.
[2023-09-18 07:53:41.209] [memgraph_log] [error] Unable to load module "/usr/lib/memgraph/query_modules/igraphalg.py"; Traceback (most recent call last):
  File "/usr/lib/memgraph/query_modules/igraphalg.py", line 6, in <module>
    from mgp_igraph import (
  File "/usr/lib/memgraph/query_modules/mgp_igraph.py", line 1, in <module>
    import igraph
ModuleNotFoundError: No module named 'igraph'
. For more details, visit https://memgr.ph/modules.
[2023-09-18 07:53:41.212] [memgraph_log] [error] Unable to load module "/usr/lib/memgraph/query_modules/xml_module.py"; Traceback (most recent call last):
  File "/usr/lib/memgraph/query_modules/xml_module.py", line 2, in <module>
    import defusedxml.ElementTree as ET
ModuleNotFoundError: No module named 'defusedxml'
. For more details, visit https://memgr.ph/modules.
[2023-09-18 07:53:41.219] [memgraph_log] [error] Unable to load module "/usr/lib/memgraph/query_modules/mgp_networkx.py"; Traceback (most recent call last):
  File "/usr/lib/memgraph/query_modules/mgp_networkx.py", line 13, in <module>
    raise import_error
  File "/usr/lib/memgraph/query_modules/mgp_networkx.py", line 5, in <module>
    import networkx as nx
ModuleNotFoundError: No module named 'networkx'
. For more details, visit https://memgr.ph/modules.
[2023-09-18 07:53:41.230] [memgraph_log] [error] Unable to load module "/usr/lib/memgraph/query_modules/tgn.py"; Traceback (most recent call last):
  File "/usr/lib/memgraph/query_modules/tgn.py", line 71, in <module>
    import numpy as np
ModuleNotFoundError: No module named 'numpy'
. For more details, visit https://memgr.ph/modules.
[2023-09-18 07:53:41.237] [memgraph_log] [error] Unable to load module "/usr/lib/memgraph/query_modules/export_util.py"; Traceback (most recent call last):
  File "/usr/lib/memgraph/query_modules/export_util.py", line 5, in <module>
    import gqlalchemy
ModuleNotFoundError: No module named 'gqlalchemy'
. For more details, visit https://memgr.ph/modules.
[2023-09-18 07:53:41.274] [memgraph_log] [error] Unable to load module "/usr/lib/memgraph/query_modules/wcc.py"; Traceback (most recent call last):
  File "/usr/lib/memgraph/query_modules/wcc.py", line 12, in <module>
    raise import_error
  File "/usr/lib/memgraph/query_modules/wcc.py", line 4, in <module>
    import networkx as nx
ModuleNotFoundError: No module named 'networkx'
. For more details, visit https://memgr.ph/modules.
[2023-09-18 07:53:41.296] [memgraph_log] [error] Unable to load module "/usr/lib/memgraph/query_modules/node2vec.py"; Traceback (most recent call last):
  File "/usr/lib/memgraph/query_modules/node2vec.py", line 5, in <module>
    import gensim
ModuleNotFoundError: No module named 'gensim'
. For more details, visit https://memgr.ph/modules.
[2023-09-18 07:53:41.298] [memgraph_log] [error] Unable to load module "/usr/lib/memgraph/query_modules/node2vec_online.py"; Traceback (most recent call last):
  File "/usr/lib/memgraph/query_modules/node2vec_online.py", line 8, in <module>
    from mage.node2vec_online_module.w2v_learners import GensimWord2Vec
  File "/usr/lib/memgraph/query_modules/mage/node2vec_online_module/w2v_learners.py", line 1, in <module>
    from gensim.models import Word2Vec
ModuleNotFoundError: No module named 'gensim'
. For more details, visit https://memgr.ph/modules.
[2023-09-18 07:53:41.311] [memgraph_log] [error] Unable to load module "/usr/lib/memgraph/query_modules/graph_analyzer.py"; Traceback (most recent call last):
  File "/usr/lib/memgraph/query_modules/graph_analyzer.py", line 16, in <module>
    raise import_error
  File "/usr/lib/memgraph/query_modules/graph_analyzer.py", line 8, in <module>
    import networkx as nx
ModuleNotFoundError: No module named 'networkx'
. For more details, visit https://memgr.ph/modules.
[2023-09-18 07:53:41.326] [memgraph_log] [error] Unable to load module "/usr/lib/memgraph/query_modules/link_prediction.py"; Traceback (most recent call last):
  File "/usr/lib/memgraph/query_modules/link_prediction.py", line 2, in <module>
    import torch
ModuleNotFoundError: No module named 'torch'
. For more details, visit https://memgr.ph/modules.
[2023-09-18 07:53:41.328] [memgraph_log] [error] Unable to load module "/usr/lib/memgraph/query_modules/mgp_igraph.py"; Traceback (most recent call last):
  File "/usr/lib/memgraph/query_modules/mgp_igraph.py", line 1, in <module>
    import igraph
ModuleNotFoundError: No module named 'igraph'
. For more details, visit https://memgr.ph/modules.
[2023-09-18 07:53:41.332] [memgraph_log] [error] Unable to load module "/usr/lib/memgraph/query_modules/tsp.py"; Traceback (most recent call last):
  File "/usr/lib/memgraph/query_modules/tsp.py", line 4, in <module>
    from mage.geography import (
  File "/usr/lib/memgraph/query_modules/mage/geography/__init__.py", line 10, in <module>
    from mage.geography.travelling_salesman import (  # noqa: F401, F402, F403
  File "/usr/lib/memgraph/query_modules/mage/geography/travelling_salesman.py", line 2, in <module>
    import numpy as np
ModuleNotFoundError: No module named 'numpy'
. For more details, visit https://memgr.ph/modules.
[2023-09-18 07:53:41.335] [memgraph_log] [error] Unable to load module "/usr/lib/memgraph/query_modules/node_classification.py"; Traceback (most recent call last):
  File "/usr/lib/memgraph/query_modules/node_classification.py", line 2, in <module>
    from tqdm import tqdm
ModuleNotFoundError: No module named 'tqdm'
. For more details, visit https://memgr.ph/modules.
[2023-09-18 07:53:41.338] [memgraph_log] [error] Unable to load module "/usr/lib/memgraph/query_modules/import_util.py"; Traceback (most recent call last):
  File "/usr/lib/memgraph/query_modules/import_util.py", line 3, in <module>
    import gqlalchemy
ModuleNotFoundError: No module named 'gqlalchemy'
. For more details, visit https://memgr.ph/modules.
[2023-09-18 07:53:41.341] [memgraph_log] [error] Unable to load module "/usr/lib/memgraph/query_modules/set_cover.py"; Traceback (most recent call last):
  File "/usr/lib/memgraph/query_modules/set_cover.py", line 7, in <module>
    from mage.constraint_programming import (
  File "/usr/lib/memgraph/query_modules/mage/constraint_programming/__init__.py", line 1, in <module>
    from mage.constraint_programming.solver import (  # noqa: F401, F402, F403
  File "/usr/lib/memgraph/query_modules/mage/constraint_programming/solver.py", line 14, in <module>
    raise import_error
  File "/usr/lib/memgraph/query_modules/mage/constraint_programming/solver.py", line 6, in <module>
    from gekko import GEKKO
ModuleNotFoundError: No module named 'gekko'
. For more details, visit https://memgr.ph/modules.
[2023-09-18 07:53:41.347] [memgraph_log] [error] Unable to load module "/usr/lib/memgraph/query_modules/nxalg.py"; Traceback (most recent call last):
  File "/usr/lib/memgraph/query_modules/nxalg.py", line 15, in <module>
    raise import_error
  File "/usr/lib/memgraph/query_modules/nxalg.py", line 4, in <module>
    import networkx as nx
ModuleNotFoundError: No module named 'networkx'
. For more details, visit https://memgr.ph/modules.
[2023-09-18 07:53:41.350] [memgraph_log] [error] Unable to load module "/usr/lib/memgraph/query_modules/elastic_search_serialization.py"; Traceback (most recent call last):
  File "/usr/lib/memgraph/query_modules/elastic_search_serialization.py", line 5, in <module>
    import elasticsearch
ModuleNotFoundError: No module named 'elasticsearch'
. For more details, visit https://memgr.ph/modules.
[2023-09-18 07:53:41.351] [memgraph_log] [error] Unable to load module "/usr/lib/memgraph/query_modules/kmeans.py"; Traceback (most recent call last):
  File "/usr/lib/memgraph/query_modules/kmeans.py", line 7, in <module>
    from sklearn.cluster import KMeans
ModuleNotFoundError: No module named 'sklearn'
. For more details, visit https://memgr.ph/modules.
[2023-09-18 07:53:41.354] [memgraph_log] [error] Unable to load module "/usr/lib/memgraph/query_modules/vrp.py"; Traceback (most recent call last):
  File "/usr/lib/memgraph/query_modules/vrp.py", line 1, in <module>
    from mage.geography import (
  File "/usr/lib/memgraph/query_modules/mage/geography/__init__.py", line 10, in <module>
    from mage.geography.travelling_salesman import (  # noqa: F401, F402, F403
  File "/usr/lib/memgraph/query_modules/mage/geography/travelling_salesman.py", line 2, in <module>
    import numpy as np
ModuleNotFoundError: No module named 'numpy'

Solution

  • It is called setup but that might be confusing. What the command does, is it installs all the C++ stuff and copies Python modules without installing all the dependencies. To install the dependencies, run python3 pip install -r python/requirements.txt.