aws / aws/aws-sam-cli

Bug: `sam init` - Error: cannot import name 'TypeAliasType' from 'typing_extensions'

Open
#6,216 1 comment 0 reactions 0 assignees View on GitHub
platform/windows stage/bug-repro
Dominant language
Python
Stars
6.7k
Forks
1.2k
Avg merge
1d 10h
Merged PRs (30d)
52

Description

### Description:
Error after following the [installation / getting started guides](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/install-sam-cli.html) for Windows and attempting to run `sam init`.

### Steps to reproduce:
- I installed AWS CLI and configured with most permissive admin role (forgot exact name)
- I followed the "Installing the [AWS SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/install-sam-cli.html)" steps and used the MSI installer on my Windows machine.
- I enabled Long Paths following the recommended guide [Enable Long Paths in Windows 10, Version 1607, and Later](https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=powershell#enable-long-paths-in-windows-10-version-1607-and-later)
- I ran `sam --version` which outputs: `SAM CLI, version 1.100.0` - Great!
- I ran `sam init` - Oof, outputs wall of errors
- I went through the troubleshooting guide, nothing.
- I asked ChatGPT for help and it recommended `pip install --upgrade typing_extensions`. Tried it, but it didn't help.

### Observed result:
```bash
PS C:\Users\miket\Desktop\lc-backend> sam init --debug
2023-11-07 10:33:27,413 | No config file found in this directory.
2023-11-07 10:33:27,429 | OSError occurred while reading TOML file: [Errno 2] No such file or directory: 'C:\\Users\\miket\\Desktop\\lc-backend\\samconfig.toml'
2023-11-07 10:33:27,429 | Config file location: C:\Users\miket\Desktop\lc-backend\samconfig.toml
2023-11-07 10:33:27,429 | Config file 'C:\Users\miket\Desktop\lc-backend\samconfig.toml' does not exist
2023-11-07 10:33:27,429 | OSError occurred while reading TOML file: [Errno 2] No such file or directory: 'C:\\Users\\miket\\Desktop\\lc-backend\\samconfig.toml'
2023-11-07 10:33:27,429 | Using config file: samconfig.toml, config environment: default
2023-11-07 10:33:27,429 | Expand command line arguments to:
2023-11-07 10:33:27,429 | --package_type=Zip --output_dir=.
2023-11-07 10:33:27,741 | Telemetry endpoint configured to be https://aws-serverless-tools-telemetry.us-west-2.amazonaws.com/metrics
2023-11-07 10:33:27,744 | Telemetry endpoint configured to be https://aws-serverless-tools-telemetry.us-west-2.amazonaws.com/metrics
2023-11-07 10:33:27,745 | Sending Telemetry: {'metrics': [{'commandRun': {'requestId': '1a12f536-e9fc-4233-a515-a8c367d98186', 'installationId': '5814aa3b-9b6e-40bb-b2fb-59aefa65c9b7',
'sessionId': '53ceeda8-c834-4e2b-a1a0-e3b80a066fe7', 'executionEnvironment': 'CLI', 'ci': False, 'pyversion': '3.11.4', 'samcliVersion': '1.100.0', 'awsProfileProvided': False,
'debugFlagProvided': True, 'region': '', 'commandName': 'sam init', 'metricSpecificAttributes': {'projectType': 'CFN'}, 'duration': 307, 'exitReason': 'ImportError', 'exitCode': 255}}]}
2023-11-07 10:33:27,745 | Unable to find Click Context for getting session_id.
2023-11-07 10:33:27,749 | Sending Telemetry: {'metrics': [{'events': {'requestId': '0f2f0aa2-93d1-4533-b030-f70fbef4188b', 'installationId': '5814aa3b-9b6e-40bb-b2fb-59aefa65c9b7', 'sessionId':
'53ceeda8-c834-4e2b-a1a0-e3b80a066fe7', 'executionEnvironment': 'CLI', 'ci': False, 'pyversion': '3.11.4', 'samcliVersion': '1.100.0', 'commandName': 'sam init', 'metricSpecificAttributes':
{'events': [{'event_name': 'SamConfigFileExtension', 'event_value': '.toml', 'thread_id': 'fe9cb9baab634d2eb4ec392fbae168c5', 'time_stamp': '2023-11-07 15:33:27.429', 'exception_name': None},
{'event_name': 'SamConfigFileExtension', 'event_value': '.toml', 'thread_id': '619d69f22daf4a588a776825b669029f', 'time_stamp': '2023-11-07 15:33:27.429', 'exception_name': None}]}}}]}
2023-11-07 10:33:28,194 | HTTPSConnectionPool(host='aws-serverless-tools-telemetry.us-west-2.amazonaws.com', port=443): Read timed out. (read timeout=0.1)
2023-11-07 10:33:28,194 | HTTPSConnectionPool(host='aws-serverless-tools-telemetry.us-west-2.amazonaws.com', port=443): Read timed out. (read timeout=0.1)

Error: cannot import name 'TypeAliasType' from 'typing_extensions' (C:\Users\miket\AppData\Roaming\Python\Python311\site-packages\typing_extensions.py)
Traceback:
File "C:\Users\miket\AppData\Roaming\Python\Python311\site-packages\click\core.py", line 1055, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File "C:\Users\miket\AppData\Roaming\Python\Python311\site-packages\click\core.py", line 1657, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\miket\AppData\Roaming\Python\Python311\site-packages\click\core.py", line 1404, in invoke
return ctx.invoke(self.callback, **ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\miket\AppData\Roaming\Python\Python311\site-packages\click\core.py", line 760, in invoke
return __callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\cli\cli_config_file.py", line 347, in wrapper
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\commands\init\command.py", line 102, in wrapped
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\miket\AppData\Roaming\Python\Python311\site-packages\click\decorators.py", line 84, in new_func
return ctx.invoke(f, obj, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\miket\AppData\Roaming\Python\Python311\site-packages\click\core.py", line 760, in invoke
return __callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\lib\telemetry\metric.py", line 184, in wrapped
raise exception # pylint: disable=raising-bad-type
^^^^^^^^^^^^^^^
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\lib\telemetry\metric.py", line 149, in wrapped
return_value = func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\lib\utils\version_checker.py", line 42, in wrapped
actual_result = func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\cli\main.py", line 95, in wrapper
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\commands\init\command.py", line 259, in cli
do_cli(
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\commands\init\command.py", line 303, in do_cli
from samcli.commands.init.init_generator import do_generate
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\commands\init\init_generator.py", line 6, in
from samcli.lib.init import generate_project
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\lib\init\__init__.py", line 15, in
from samcli.lib.init.template_modifiers.application_insights_template_modifier import (
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\lib\init\template_modifiers\application_insights_template_modifier.py", line 11, in
from samcli.lib.init.template_modifiers.cli_template_modifier import TemplateModifier
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\lib\init\template_modifiers\cli_template_modifier.py", line 10, in
from samcli.yamlhelper import parse_yaml_file
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\yamlhelper.py", line 25, in
from samtranslator.utils.py27hash_fix import Py27Dict, Py27UniStr
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samtranslator\utils\py27hash_fix.py", line 10, in
from samtranslator.parser.parser import Parser
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samtranslator\parser\parser.py", line 4, in
from samtranslator.model.exceptions import (
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samtranslator\model\__init__.py", line 8, in
from samtranslator.compat import pydantic
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samtranslator\compat.py", line 6, in
import pydantic # type: ignore
^^^^^^^^^^^^^^^
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\pydantic\__init__.py", line 12, in
from . import dataclasses
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\pydantic\dataclasses.py", line 11, in
from ._internal import _config, _decorators, _typing_extra
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\pydantic\_internal\_decorators.py", line 15, in
from ..fields import ComputedFieldInfo
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\pydantic\fields.py", line 24, in
from . import types
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\pydantic\types.py", line 33, in
from ._internal import _fields, _internal_dataclass, _utils, _validators
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\pydantic\_internal\_fields.py", line 13, in
from . import _typing_extra
File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\pydantic\_internal\_typing_extra.py", line 13, in
from typing_extensions import Annotated, Final, Literal, TypeAliasType, TypeGuard, get_args, get_origin

An unexpected error was encountered while executing "sam init".
Search for an existing issue:
https://github.com/aws/aws-sam-cli/issues?q=is%3Aissue+is%3Aopen+Bug%3A%20sam%20init%20-%20ImportError
Or create a bug report:
https://github.com/aws/aws-sam-cli/issues/new?template=Bug_report.md&title=Bug%3A%20sam%20init%20-%20ImportError
```

### Expected result:
The getting started guide to work without errors

### Additional environment details (Ex: Windows, Mac, Amazon Linux etc)

1. OS: Windows 10 Pro (10.0.19045 Build 19045)
2. `sam --version`: SAM CLI, version 1.100.0
3. AWS region: us-east-1

```
{
"version": "1.100.0",
"system": {
"python": "3.11.4",
"os": "Windows-10-10.0.19045-SP0"
},
"additional_dependencies": {
"docker_engine": "Not available",
"aws_cdk": "Not available",
"terraform": "1.3.6"
},
"available_beta_feature_env_vars": [
"SAM_CLI_BETA_FEATURES",
"SAM_CLI_BETA_BUILD_PERFORMANCE",
"SAM_CLI_BETA_TERRAFORM_SUPPORT",
"SAM_CLI_BETA_RUST_CARGO_LAMBDA"
]
}
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.