Skip to content

Conversation

@shubhampandey3008
Copy link

@shubhampandey3008 shubhampandey3008 commented Nov 15, 2025

Description

🐛 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'

Thus added the following requirement to mem0/server/requirements.txt

psycopg-pool>=3.2.6,<4.0.

Fixes # (issue)

Type of change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Refactor (does not change functionality, e.g. code style improvements, linting)
  • Documentation update

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

Please delete options that are not relevant.

  • Unit Test
  • Test Script (please provide)

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules
  • I have checked my code and corrected any misspellings

Maintainer Checklist

  • closes #xxxx (Replace xxxx with the GitHub issue number)
  • Made sure Checks passed

@CLAassistant
Copy link

CLAassistant commented Nov 15, 2025

CLA assistant check
All committers have signed the CLA.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants