ruvnet/RuView · error · ImportError
Core dependencies not found. Make sure you installed from th
Error message
Core dependencies not found. Make sure you installed from the repository root: cd wifi-densepose && pip install -e . Or install the v1 package: cd wifi-densepose/v1 && pip install -e .
What it means
The wifi_densepose package's start path (_async_start) imports the v1 pipeline's src.config.settings and src.services.orchestrator; on ImportError it re-raises with instructions to pip install -e . from the repository root or wifi-densepose/v1. Caveat: the re-raise does not chain the original exception (`from` is missing), so the real failing module — which can be any transitive import inside orchestrator, not just the two named modules — is masked by this generic message.
Source
Thrown at wifi_densepose/__init__.py:67
"""Start the sensing system (blocking until ready)."""
import asyncio
loop = _get_or_create_event_loop()
loop.run_until_complete(self._async_start())
async def _async_start(self):
try:
from src.config.settings import get_settings
from src.services.orchestrator import ServiceOrchestrator
settings = get_settings()
self._orchestrator = ServiceOrchestrator(settings)
await self._orchestrator.initialize()
await self._orchestrator.start()
self._running = True
logger.info("WiFiDensePose system started on %s:%s", self.host, self.port)
except ImportError:
raise ImportError(
"Core dependencies not found. Make sure you installed "
"from the repository root:\n"
" cd wifi-densepose && pip install -e .\n"
"Or install the v1 package:\n"
" cd wifi-densepose/v1 && pip install -e ."
)
def stop(self):
"""Stop the sensing system."""
import asyncio
if self._orchestrator is not None:
loop = _get_or_create_event_loop()
loop.run_until_complete(self._orchestrator.shutdown())
self._running = False
logger.info("WiFiDensePose system stopped")
def get_latest_poses(self):View on GitHub (pinned to 4685618388)
Solutions
- Install the package in editable mode from the repository root: `cd wifi-densepose && pip install -e .` (or `cd wifi-densepose/v1 && pip install -e .` for the v1 package)
- Re-run `pip install -e .` after pulling changes that add dependencies or move src.* modules
- If the install is fine and the error persists, unmask the real cause: run `python -c "from src.services.orchestrator import ServiceOrchestrator"` to see the actual traceback
- Fix whatever import that one-liner reports (usually a missing dependency in the venv)
Example fix
# before
except ImportError:
raise ImportError("Core dependencies not found. ...") # original cause lost
# after
except ImportError as exc:
raise ImportError(
"Core dependencies not found. Install from the repository root:\n"
" cd wifi-densepose && pip install -e ."
) from exc # keeps the real failing import in the traceback Defensive patterns
Strategy: try-catch
Validate before calling
import importlib.util
if importlib.util.find_spec("src.services.orchestrator") is None:
raise SystemExit("run `pip install -e .` from the repo root (or wifi-densepose/v1) before starting") Try / catch
try:
system.start()
except ImportError as e:
# message is generic; probe the real import to get the true cause
import traceback
try:
from src.services.orchestrator import ServiceOrchestrator # noqa: F401
except ImportError:
traceback.print_exc() # actual missing module
raise Prevention
- Install editable (`pip install -e .`) from the repository root so the src.* tree resolves
- Re-run the editable install after pulls that add dependencies or move modules
- Note the re-raise is un-chained: when in doubt, import src.services.orchestrator directly to see the real traceback
When it happens
Trigger: Calling start() without an editable install of the repo; or any ImportError raised while importing the orchestrator tree (missing optional dependency, renamed module) — the except cannot distinguish these, so all surface as 'Core dependencies not found'.
Common situations: Installing only the thin wifi_densepose shim package instead of the repo; stale editable install after modules moved during a refactor; a venv missing a new transitive dependency added to the orchestrator.
Related errors
- wifi-densepose 1.x has been superseded by v2.0.0 which wraps
- wifi_densepose.aether is not in the binary wheels yet (see r
- module 'wifi_densepose.client' has no attribute {name!r}
- RuViewMqttClient requires the `paho-mqtt` package. Install w
- SensingClient requires the `websockets` package. Install wit
AI-assisted analysis of ruvnet/RuView@4685618388 (2026-08-16).
Data as JSON: /api/errors/81d98c74aa8748d1.
Report an issue: GitHub.