Skip to content

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

@miketromba

Description

@miketromba

Description:

Error after following the installation / getting started guides 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" 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
  • 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:

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 <module>
    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 <module>
    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 <module>
    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 <module>
    from samcli.yamlhelper import parse_yaml_file
  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\yamlhelper.py", line 25, in <module>
    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 <module>
    from samtranslator.parser.parser import Parser
  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samtranslator\parser\parser.py", line 4, in <module>
    from samtranslator.model.exceptions import (
  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samtranslator\model\__init__.py", line 8, in <module>
    from samtranslator.compat import pydantic
  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samtranslator\compat.py", line 6, in <module>
    import pydantic  # type: ignore
    ^^^^^^^^^^^^^^^
  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\pydantic\__init__.py", line 12, in <module>
    from . import dataclasses
  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\pydantic\dataclasses.py", line 11, in <module>
    from ._internal import _config, _decorators, _typing_extra
  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\pydantic\_internal\_decorators.py", line 15, in <module>
    from ..fields import ComputedFieldInfo
  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\pydantic\fields.py", line 24, in <module>
    from . import types
  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\pydantic\types.py", line 33, in <module>
    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 <module>
    from . import _typing_extra
  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\pydantic\_internal\_typing_extra.py", line 13, in <module>
    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"
  ]
}

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions