ModuleNotFoundError: No module named 'omegaconf'

I believe I have everything installed now, but when I run “diambra run --path.roms <rest_of_path>\executables\streetfighter3\roms uv run python run.py --local”, the code starts but never does anything with the games. In the game log file, I see

Traceback (most recent call last):
File “<rest_of_path>\evaluation_utils\mcp_game_servers\super_mario\server.py”, line 3, in
from mcp_game_servers.base_server import *
File “<rest_of_path>\evaluation_utils\mcp_game_servers\base_server.py”, line 6, in
import omegaconf
ModuleNotFoundError: No module named ‘omegaconf’

I have installed omegaconf both on my machine and through uv. Why might there still be this error?

I had the same issue first. And what I found is that when you use UV, it creates venv that is actually based on UV basic python interpreter. And the problem was that it actually tries to use that basic uv interpreter instead of venv. So, easy local solution is just build another python env (conda or another venv) and install packages there. Otherwise, try to reinstall uv or set it in more clear way.

Thanks for the response! Unfortunately, I tried creating a new venv but I still run into the same problem. The new venv has omegaconf on it (confirmed with pip show) and I activate the environment before running “python run.py --local --games”. I’m running on Windows 11 with Python 3.11.9. What might be happening?

make normal python env without venv (like conda). Then activate it, install packages for this activated env:
uv pip install -r pyproject.toml

1 Like

uv looks for pyproject.toml and automatically manages the virtual environment at the repo level.

Can you verify that your environment is actually being used?

# check which Python uv is running
uv run python
# try importing a starter-kit–specific library, for example:
import sc2

If this import works, then uv is configured correctly.

You can install additional packages with:

uv add <package>

Although uv pip install -r pyproject.toml works, it’s generally better to use:

uv sync

This installs the exact dependency versions listed in uv.lock, matching the environment used during starter-kit testing.