Skip to content

Missing requirements causing configuration of Rest API Server using docker compose to fail #3753

@shubhampandey3008

Description

@shubhampandey3008

🐛 Describe the bug

While setting up the Rest API Server using Docker compose (https://docs.mem0.ai/open-source/features/rest-api#configure-it). Getting the error:

mem0-1      | INFO:     Will watch for changes in these directories: ['/app']
mem0-1      | INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
mem0-1      | INFO:     Started reloader process [1] using StatReload
mem0-1      | Process SpawnProcess-1:
mem0-1      | Traceback (most recent call last):
mem0-1      |   File "/app/packages/mem0/vector_stores/pgvector.py", line 11, in <module>
mem0-1      |     from psycopg_pool import ConnectionPool
mem0-1      | ModuleNotFoundError: No module named 'psycopg_pool'
mem0-1      | 
mem0-1      | During handling of the above exception, another exception occurred:
mem0-1      | 
mem0-1      | Traceback (most recent call last):
mem0-1      |   File "/app/packages/mem0/vector_stores/pgvector.py", line 17, in <module>
mem0-1      |     from psycopg2.extras import Json, execute_values
mem0-1      | ModuleNotFoundError: No module named 'psycopg2'
mem0-1      | 
mem0-1      | During handling of the above exception, another exception occurred:
mem0-1      | 
mem0-1      | Traceback (most recent call last):
mem0-1      |   File "/usr/local/lib/python3.12/multiprocessing/process.py", line 314, in _bootstrap
mem0-1      |     self.run()
mem0-1      |   File "/usr/local/lib/python3.12/multiprocessing/process.py", line 108, in run
mem0-1      |     self._target(*self._args, **self._kwargs)
mem0-1      |   File "/usr/local/lib/python3.12/site-packages/uvicorn/_subprocess.py", line 80, in subprocess_started
mem0-1      |     target(sockets=sockets)
mem0-1      |   File "/usr/local/lib/python3.12/site-packages/uvicorn/server.py", line 66, in run
mem0-1      |     return asyncio.run(self.serve(sockets=sockets))
mem0-1      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mem0-1      |   File "/usr/local/lib/python3.12/asyncio/runners.py", line 195, in run
mem0-1      |     return runner.run(main)
mem0-1      |            ^^^^^^^^^^^^^^^^
mem0-1      |   File "/usr/local/lib/python3.12/asyncio/runners.py", line 118, in run
mem0-1      |     return self._loop.run_until_complete(task)
mem0-1      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mem0-1      |   File "/usr/local/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
mem0-1      |     return future.result()
mem0-1      |            ^^^^^^^^^^^^^^^
mem0-1      |   File "/usr/local/lib/python3.12/site-packages/uvicorn/server.py", line 70, in serve
mem0-1      |     await self._serve(sockets)
mem0-1      |   File "/usr/local/lib/python3.12/site-packages/uvicorn/server.py", line 77, in _serve
mem0-1      |     config.load()
mem0-1      |   File "/usr/local/lib/python3.12/site-packages/uvicorn/config.py", line 435, in load
mem0-1      |     self.loaded_app = import_from_string(self.app)
mem0-1      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mem0-1      |   File "/usr/local/lib/python3.12/site-packages/uvicorn/importer.py", line 19, in import_from_string
mem0-1      |     module = importlib.import_module(module_str)
mem0-1      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mem0-1      |   File "/usr/local/lib/python3.12/importlib/__init__.py", line 90, in import_module
mem0-1      |     return _bootstrap._gcd_import(name[level:], package, level)
mem0-1      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mem0-1      |   File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
mem0-1      |   File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
mem0-1      |   File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
mem0-1      |   File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
mem0-1      |   File "<frozen importlib._bootstrap_external>", line 999, in exec_module
mem0-1      |   File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
mem0-1      |   File "/app/main.py", line 59, in <module>
mem0-1      |     MEMORY_INSTANCE = Memory.from_config(DEFAULT_CONFIG)
mem0-1      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mem0-1      |   File "/app/packages/mem0/memory/main.py", line 243, in from_config
mem0-1      |     return cls(config)
mem0-1      |            ^^^^^^^^^^^
mem0-1      |   File "/app/packages/mem0/memory/main.py", line 183, in __init__
mem0-1      |     self.vector_store = VectorStoreFactory.create(
mem0-1      |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
mem0-1      |   File "/app/packages/mem0/utils/factory.py", line 197, in create
mem0-1      |     vector_store_instance = load_class(class_type)
mem0-1      |                             ^^^^^^^^^^^^^^^^^^^^^^
mem0-1      |   File "/app/packages/mem0/utils/factory.py", line 24, in load_class
mem0-1      |     module = importlib.import_module(module_path)
mem0-1      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mem0-1      |   File "/usr/local/lib/python3.12/importlib/__init__.py", line 90, in import_module
mem0-1      |     return _bootstrap._gcd_import(name[level:], package, level)
mem0-1      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mem0-1      |   File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
mem0-1      |   File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
mem0-1      |   File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
mem0-1      |   File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
mem0-1      |   File "<frozen importlib._bootstrap_external>", line 999, in exec_module
mem0-1      |   File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
mem0-1      |   File "/app/packages/mem0/vector_stores/pgvector.py", line 23, in <module>
mem0-1      |     raise ImportError(
mem0-1      | ImportError: Neither 'psycopg' nor 'psycopg2' library is available. Please install one of them using 'pip install psycopg[pool]' or 'pip install psycopg2'

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions