(edited)
Expected Behavior
The application should run on Vercel as it does locally on my machine with Python 3.12.8.
Steps to Reproduce
- Deploy a FastAPI application to Vercel
- Application fails during initialization
- Error trace shows an import issue with collections.Sequence
Full Error Stack
odule>from .applications import FastAPI as FastAPIFile "/var/task/fastapi/applications.py", line 16, in <module>from fastapi import routingFile "/var/task/fastapi/routing.py", line 24, in <module>from fastapi import paramsFile "/var/task/fastapi/params.py", line 5, in <module>from fastapi.openapi.models import ExampleFile "/var/task/fastapi/openapi/models.py", line 4, in <module>from fastapi._compat import (File "/var/task/fastapi/_compat.py", line 21, in <module>from fastapi.exceptions import RequestErrorModelFile "/var/task/fastapi/exceptions.py", line 3, in <module>from pydantic import BaseModel, create_modelFile "/var/task/pydantic/__init__.py", line 421, in __getattr__module = import_module(module_name, package=package)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "/var/lang/lib/python3.12/importlib/__init__.py", line 90, in import_modulereturn _bootstrap._gcd_import(name[level:], package, level)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "/var/task/pydantic/main.py", line 34, in <module>from ._internal import (File "/var/task/pydantic/_internal/_model_construction.py", line 25, in <module>from ._generate_schema import GenerateSchemaFile "/var/task/pydantic/_internal/_generate_schema.py", line 10, in <module>import pathlibFile "/var/task/pathlib.py", line 10, in <module>from collections import SequenceImportError: cannot import name 'Sequence' from 'collections' (/var/lang/lib/python3.12/collections/__init__.py)Python process exited with exit status: 1. The logs above can help with debugging the issue.Traceback (most recent call last):File "/var/task/vc__handler__python.py", line 14, in <module>__vc_spec.loader.exec_module(__vc_module)File "<frozen importlib._bootstrap_external>", line 995, in exec_moduleFile "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removedFile "/var/task/src/main_vercel.py", line 1, in <module>from fastapi import FastAPI, Request, WebSocketFile "/var/task/fastapi/__init__.py", line 7, in <module>from .applications import FastAPI as FastAPIFile "/var/task/fastapi/applications.py", line 16, in <module>from fastapi import routingFile "/var/task/fastapi/routing.py", line 24, in <module>from fastapi import paramsFile "/var/task/fastapi/params.py", line 5, in <module>from fastapi.openapi.models import ExampleFile "/var/task/fastapi/openapi/models.py", line 4, in <module>from fastapi._compat import (File "/var/task/fastapi/_compat.py", line 21, in <module>from fastapi.exceptions import RequestErrorModelFile "/var/task/fastapi/exceptions.py", line 3, in <module>from pydantic import BaseModel, create_modelFile "/var/task/pydantic/__init__.py", line 421, in __getattr__module = import_module(module_name, package=package)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "/var/lang/lib/python3.12/importlib/__init__.py", line 90, in import_modulereturn _bootstrap._gcd_import(name[level:], package, level)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "/var/task/pydantic/main.py", line 34, in <module>from ._internal import (File "/var/task/pydantic/_internal/_model_construction.py", line 25, in <module>from ._generate_schema import GenerateSchemaFile "/var/task/pydantic/_internal/_generate_schema.py", line 10, in <module>import pathlibFile "/var/task/pathlib.py", line 10, in <module>from collections import SequenceImportError: cannot import name 'Sequence' from 'collections' (/var/lang/lib/python3.12/collections/__init__.py)Python process exited with exit status: 1. The logs above can help with debugging the issue.Project Information
- Framework: FastAPI
- Python Version: 3.12.8
- Environment: Vercel Serverless Functions
- Key Dependencies:
fastapi==0.115.8pydantic==2.10.6
Questions
- How can I recreate Vercel's Python 3.12 environment locally to debug this issue?
- Are there any known compatibility issues with Python 3.12 in Vercel's environment?
- What's the recommended way to ensure dependency versions match between local and Vercel environments?
Any guidance would be greatly appreciated!