Skip to content

ValueError: Paths don't have the same drive #7978

@kitswas

Description

@kitswas

Describe the bug

Getting an error trying to run

uv run marimo tutorial intro
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "D:\git-repos\cv-assignment-1\.venv\Lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 410, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\git-repos\cv-assignment-1\.venv\Lib\site-packages\uvicorn\middleware\proxy_headers.py", line 60, in __call__
    return await self.app(scope, receive, send)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\git-repos\cv-assignment-1\.venv\Lib\site-packages\starlette\applications.py", line 107, in __call__
    await self.middleware_stack(scope, receive, send)
  File "D:\git-repos\cv-assignment-1\.venv\Lib\site-packages\starlette\middleware\errors.py", line 186, in __call__
    raise exc
  File "D:\git-repos\cv-assignment-1\.venv\Lib\site-packages\starlette\middleware\errors.py", line 164, in __call__
    await self.app(scope, receive, _send)
  File "D:\git-repos\cv-assignment-1\.venv\Lib\site-packages\marimo\_server\api\auth.py", line 219, in __call__
    return await super().__call__(scope, receive, send)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\git-repos\cv-assignment-1\.venv\Lib\site-packages\starlette\middleware\sessions.py", line 85, in __call__
    await self.app(scope, receive, send_wrapper)
  File "D:\git-repos\cv-assignment-1\.venv\Lib\site-packages\starlette\middleware\base.py", line 191, in __call__
    with recv_stream, send_stream, collapse_excgroups():
                                   ^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\swast\AppData\Roaming\uv\python\cpython-3.12.8-windows-x86_64-none\Lib\contextlib.py", line 158, in __exit__
    self.gen.throw(value)
  File "D:\git-repos\cv-assignment-1\.venv\Lib\site-packages\starlette\_utils.py", line 87, in collapse_excgroups
    raise exc
  File "D:\git-repos\cv-assignment-1\.venv\Lib\site-packages\starlette\middleware\base.py", line 193, in __call__
    response = await self.dispatch_func(request, call_next)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\git-repos\cv-assignment-1\.venv\Lib\site-packages\marimo\_server\api\middleware.py", line 202, in dispatch
    return await call_next(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\git-repos\cv-assignment-1\.venv\Lib\site-packages\starlette\middleware\base.py", line 168, in call_next
    raise app_exc from app_exc.__cause__ or app_exc.__context__
  File "D:\git-repos\cv-assignment-1\.venv\Lib\site-packages\starlette\middleware\base.py", line 144, in coro
    await self.app(scope, receive_or_disconnect, send_no_error)
  File "D:\git-repos\cv-assignment-1\.venv\Lib\site-packages\marimo\_server\api\auth.py", line 250, in __call__
    await super().__call__(scope, receive, send)
  File "D:\git-repos\cv-assignment-1\.venv\Lib\site-packages\starlette\middleware\authentication.py", line 48, in __call__
    await self.app(scope, receive, send)
  File "D:\git-repos\cv-assignment-1\.venv\Lib\site-packages\marimo\_server\api\auth.py", line 239, in wrapped_app
    await app(scope, receive, send)
  File "D:\git-repos\cv-assignment-1\.venv\Lib\site-packages\starlette\middleware\cors.py", line 87, in __call__
    await self.app(scope, receive, send)
  File "D:\git-repos\cv-assignment-1\.venv\Lib\site-packages\marimo\_server\api\middleware.py", line 133, in __call__
    return await self.app(scope, receive, send)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\git-repos\cv-assignment-1\.venv\Lib\site-packages\marimo\_server\api\middleware.py", line 424, in __call__
    await self.app(scope, receive, send)
  File "D:\git-repos\cv-assignment-1\.venv\Lib\site-packages\marimo\_server\api\middleware.py", line 424, in __call__
    await self.app(scope, receive, send)
  File "D:\git-repos\cv-assignment-1\.venv\Lib\site-packages\marimo\_server\api\middleware.py", line 424, in __call__
    await self.app(scope, receive, send)
  [Previous line repeated 1 more time]
  File "D:\git-repos\cv-assignment-1\.venv\Lib\site-packages\starlette\middleware\exceptions.py", line 63, in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  File "D:\git-repos\cv-assignment-1\.venv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
    raise exc
  File "D:\git-repos\cv-assignment-1\.venv\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
    await app(scope, receive, sender)
  File "D:\git-repos\cv-assignment-1\.venv\Lib\site-packages\starlette\routing.py", line 716, in __call__
    await self.middleware_stack(scope, receive, send)
  File "D:\git-repos\cv-assignment-1\.venv\Lib\site-packages\starlette\routing.py", line 736, in app
    await route.handle(scope, receive, send)
  File "D:\git-repos\cv-assignment-1\.venv\Lib\site-packages\starlette\routing.py", line 462, in handle
    await self.app(scope, receive, send)
  File "D:\git-repos\cv-assignment-1\.venv\Lib\site-packages\starlette\routing.py", line 716, in __call__
    await self.middleware_stack(scope, receive, send)
  File "D:\git-repos\cv-assignment-1\.venv\Lib\site-packages\starlette\routing.py", line 736, in app
    await route.handle(scope, receive, send)
  File "D:\git-repos\cv-assignment-1\.venv\Lib\site-packages\starlette\routing.py", line 462, in handle
    await self.app(scope, receive, send)
  File "D:\git-repos\cv-assignment-1\.venv\Lib\site-packages\starlette\staticfiles.py", line 98, in __call__
    response = await self.get_response(path, scope)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\git-repos\cv-assignment-1\.venv\Lib\site-packages\starlette\staticfiles.py", line 117, in get_response
    full_path, stat_result = await anyio.to_thread.run_sync(self.lookup_path, path)
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\git-repos\cv-assignment-1\.venv\Lib\site-packages\anyio\to_thread.py", line 63, in run_sync
    return await get_async_backend().run_sync_in_worker_thread(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\git-repos\cv-assignment-1\.venv\Lib\site-packages\anyio\_backends\_asyncio.py", line 2502, in run_sync_in_worker_thread
    return await future
           ^^^^^^^^^^^^
  File "D:\git-repos\cv-assignment-1\.venv\Lib\site-packages\anyio\_backends\_asyncio.py", line 986, in run
    result = context.run(func, *args)
             ^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\git-repos\cv-assignment-1\.venv\Lib\site-packages\starlette\staticfiles.py", line 160, in lookup_path
    if os.path.commonpath([full_path, directory]) != str(directory):
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen ntpath>", line 854, in commonpath
ValueError: Paths don't have the same drive

Will you submit a PR?

  • Yes

Environment

Details
{
  "marimo": "0.19.6",
  "editable": false,
  "location": "D:/git-repos/cv-assignment-1/.venv/Lib/site-packages/marimo",
  "OS": "Windows",
  "OS Version": "11",
  "Processor": "Intel64 Family 6 Model 165 Stepping 2, GenuineIntel",
  "Python Version": "3.12.8",
  "Locale": "en_GB",
  "Binaries": {
    "Browser": "--",
    "Node": "v22.20.0"
  },
  "Dependencies": {
    "click": "8.3.1",
    "docutils": "0.22.4",
    "itsdangerous": "2.2.0",
    "jedi": "0.19.2",
    "markdown": "3.10.1",
    "narwhals": "2.15.0",
    "packaging": "26.0",
    "psutil": "7.2.1",
    "pygments": "2.19.2",
    "pymdown-extensions": "10.20.1",
    "pyyaml": "6.0.3",
    "starlette": "0.52.1",
    "tomlkit": "0.14.0",
    "typing-extensions": "4.15.0",
    "uvicorn": "0.40.0",
    "websockets": "16.0"
  },
  "Optional Dependencies": {
    "altair": "6.0.0",
    "duckdb": "1.4.4",
    "loro": "1.10.3",
    "nbformat": "5.10.4",
    "openai": "2.15.0",
    "polars": "1.37.1",
    "pyarrow": "23.0.0",
    "ruff": "0.14.14",
    "sqlglot": "28.6.0"
  },
  "Experimental Flags": {}
}

Code to reproduce

uv add "marimo[recommended]"
uv run marimo tutorial intro

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions