{"record":{"id":"96eec1f75a0fac11","repo":"pathwaycom/pathway","slug":"failed-to-install-dependencies","errorCode":null,"errorMessage":"Failed to install dependencies","messagePattern":"Failed to install dependencies","errorType":"exception","errorClass":"RuntimeError","httpStatus":null,"severity":"error","filePath":"python/pathway/cli.py","lineNumber":245,"sourceCode":"        requirements_path = repository_path / \"requirements.txt\"\n        if program.startswith(\"python\"):\n            program = venv_path / \"bin\" / program\n        if requirements_path.exists():\n            pip_path = venv_path / \"bin\" / \"pip\"\n            command = [\n                os.fspath(pip_path),\n                \"install\",\n                \"-r\",\n                os.fspath(requirements_path),\n            ]\n            pip_handle = subprocess.run(\n                command,\n                stderr=subprocess.STDOUT,\n            )\n            if pip_handle.returncode != 0:\n                process_stdout = pip_handle.stdout.decode(\"utf-8\")\n                logging.error(f\"Failed to install requirements:\\n{process_stdout}\")\n                raise RuntimeError(\"Failed to install dependencies\")\n        os.chdir(repository_path)\n\n    run_id = str(uuid.uuid4())\n    process_handles = []\n    try:\n        process_handles = create_process_handles(\n            processes=processes,\n            threads=threads,\n            first_port=first_port,\n            addresses=addresses,\n            process_id=process_id,\n            run_id=run_id,\n            program=program,\n            arguments=arguments,\n            env_base=env_base,\n        )\n        handles_state = ProcessHandlesState()\n        while not handles_state.has_process_with_error:","sourceCodeStart":227,"sourceCodeEnd":263,"githubUrl":"https://github.com/pathwaycom/pathway/blob/fa2f74a4649b7c5908690cf60137263d8d80de5f/python/pathway/cli.py#L227-L263","documentation":"Pathway IO connectors that support replay positions (e.g. Kafka-style 'start_from') validate the pair (start_from, start_from_timestamp_ms) before passing them to the engine. When start_from='timestamp', the timestamp must be explicitly supplied because the internal encoding cannot distinguish 'unset' from 'not provided' in that mode.","triggerScenarios":"Calling a Pathway IO read API with start_from=\"timestamp\" while omitting start_from_timestamp_ms, e.g. pw.io.kafka.read(..., start_from=\"timestamp\") with no timestamp keyword.","commonSituations":"User copies an example that used start_from=\"end\" or \"latest\" and switches the string to \"timestamp\" without adding the timestamp argument; or refactors parameter names and drops the timestamp argument by mistake.","solutions":["Pass start_from_timestamp_ms as a non-negative integer of milliseconds since the UNIX epoch, e.g. start_from_timestamp_ms=1700000000000.","If you actually want to start at the latest available message, use start_from=\"end\" instead and remove start_from_timestamp_ms.","If you want to replay everything from the beginning, use start_from=\"start\" (or the connector's equivalent) and remove start_from_timestamp_ms."],"exampleFix":"# before\npw.io.kafka.read(..., start_from=\"timestamp\")\n\n# after\npw.io.kafka.read(..., start_from=\"timestamp\", start_from_timestamp_ms=1700000000000)","handlingStrategy":"validation","validationCode":"def check_start_from(start_from: str, ts: int | None) -> None:\n    if start_from == \"timestamp\":\n        assert ts is not None, \"start_from='timestamp' needs start_from_timestamp_ms\"\n\ncheck_start_from(start_from, start_from_timestamp_ms)\npw.io.kafka.read(..., start_from=start_from, start_from_timestamp_ms=start_from_timestamp_ms)","typeGuard":"def is_valid_start_from(start_from: str, ts: int | None) -> bool:\n    return not (start_from == \"timestamp\" and ts is None)","tryCatchPattern":null,"preventionTips":["Centralize (start_from, start_from_timestamp_ms) in one config object validated once at startup.","Treat the pair as mutually configured: timestamp mode requires the ms value; other modes forbid it."],"tags":["pathway","kafka","configuration","validation","streaming"],"backgroundTag":null,"analyzedSha":"fa2f74a4649b7c5908690cf60137263d8d80de5f","analyzedAt":"2026-08-15T01:48:17.006Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}