aws / aws-sam-cli

CLI tool to build, test, debug, and deploy Serverless applications using AWS SAM
https://aws.amazon.com/serverless/sam/
Apache License 2.0
6.5k stars 1.17k forks source link

Bug: sam init - Error: cannot import name 'DEPRECATED_SERVICE_NAMES' from 'botocore.docs' #6490

Closed tioluwa closed 8 months ago

tioluwa commented 8 months ago

Description:

Error initializing new sam application using sam cli

Steps to reproduce:

Observed result:

C:\Users\Admin\AppData\Roaming\Python\Python311\site-packages\requests\__init__.py:102: RequestsDependencyWarning: urllib3 (1.26.15) or chardet (5.2.0)/charset_normalizer (2.0.12) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({})/charset_normalizer ({}) doesn't match a supported "
2023-12-26 00:07:50,925 | No config file found in this directory.
2023-12-26 00:07:50,929 | OSError occurred while reading TOML file: [Errno 2] No such file or directory:
'C:\\Users\\Admin\\Documents\\projects\\Iformit\\AuthenticationService\\samconfig.toml'
2023-12-26 00:07:50,932 | Config file location:
C:\Users\Admin\Documents\projects\Iformit\AuthenticationService\samconfig.toml
2023-12-26 00:07:50,936 | Config file 'C:\Users\Admin\Documents\projects\Iformit\AuthenticationService\samconfig.toml'
does not exist
2023-12-26 00:07:50,939 | OSError occurred while reading TOML file: [Errno 2] No such file or directory:
'C:\\Users\\Admin\\Documents\\projects\\Iformit\\AuthenticationService\\samconfig.toml'
2023-12-26 00:07:50,942 | Using config file: samconfig.toml, config environment: default
2023-12-26 00:07:50,943 | Expand command line arguments to:
2023-12-26 00:07:50,947 | --package_type=Zip --output_dir=.
2023-12-26 00:07:51,815 | Telemetry endpoint configured to be
https://aws-serverless-tools-telemetry.us-west-2.amazonaws.com/metrics
2023-12-26 00:07:51,819 | Telemetry endpoint configured to be
https://aws-serverless-tools-telemetry.us-west-2.amazonaws.com/metrics
2023-12-26 00:07:51,821 | Sending Telemetry: {'metrics': [{'commandRun': {'requestId':
'4f0695f1-d1c8-4167-b2f9-2a1db44a3c8d', 'installationId': '34f77d57-26f2-450d-9c6f-7b71c3fc354d', 'sessionId':
'1db42f0e-6131-4fd6-ae84-78560fd69eca', 'executionEnvironment': 'CLI', 'ci': False, 'pyversion': '3.11.4',
'samcliVersion': '1.105.0', 'awsProfileProvided': False, 'debugFlagProvided': True, 'region': '', 'commandName': 'sam
init', 'metricSpecificAttributes': {'projectType': 'CFN'}, 'duration': 872, 'exitReason': 'ImportError', 'exitCode':
255}}]}
2023-12-26 00:07:51,821 | Unable to find Click Context for getting session_id.
2023-12-26 00:07:51,830 | Sending Telemetry: {'metrics': [{'events': {'requestId':
'3858e999-0ce0-41a0-a8e7-accca9811779', 'installationId': '34f77d57-26f2-450d-9c6f-7b71c3fc354d', 'sessionId':
'1db42f0e-6131-4fd6-ae84-78560fd69eca', 'executionEnvironment': 'CLI', 'ci': False, 'pyversion': '3.11.4',
'samcliVersion': '1.105.0', 'commandName': 'sam init', 'metricSpecificAttributes': {'events': [{'event_name':
'SamConfigFileExtension', 'event_value': '.toml', 'thread_id': 'c11911d764ac494f928cc3bed8babf8a', 'time_stamp':
'2023-12-25 23:07:50.932', 'exception_name': None}, {'event_name': 'SamConfigFileExtension', 'event_value': '.toml',
'thread_id': '502c46391c4c405ca30a2fd273982c09', 'time_stamp': '2023-12-25 23:07:50.942', 'exception_name': None}]}}}]}
2023-12-26 00:07:52,767 | HTTPSConnectionPool(host='aws-serverless-tools-telemetry.us-west-2.amazonaws.com', port=443):
Read timed out. (read timeout=0.1)
2023-12-26 00:07:52,782 | HTTPSConnectionPool(host='aws-serverless-tools-telemetry.us-west-2.amazonaws.com', port=443):
Read timed out. (read timeout=0.1)

Error: cannot import name 'DEPRECATED_SERVICE_NAMES' from 'botocore.docs' (C:\Users\Admin\AppData\Roaming\Python\Python311\site-packages\botocore\docs\__init__.py)
Traceback:
  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\click\core.py", line 1078, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\click\core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\click\core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\click\core.py", line 783, 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:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\click\decorators.py", line 92, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\click\core.py", line 783, 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 265, in cli
    do_cli(
  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\commands\init\command.py", line 313, in do_cli
    from samcli.commands.init.interactive_init_flow import do_interactive
  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\commands\init\interactive_init_flow.py", line 23, in <module>
    from samcli.commands.init.interactive_event_bridge_flow import (
  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\commands\init\interactive_event_bridge_flow.py", line 9, in <module>
    from samcli.lib.schemas.schemas_aws_config import get_aws_configuration_choice, get_schemas_client
  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\lib\schemas\schemas_aws_config.py", line 4, in <module>
    from boto3.session import Session
  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\boto3\__init__.py", line 17, in <module>
    from boto3.session import Session
  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\boto3\session.py", line 25, in <module>
    from .resources.factory import ResourceFactory
  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\boto3\resources\factory.py", line 17, in <module>
    from ..docs import docstring
  File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\boto3\docs\__init__.py", line 15, in <module>
    from botocore.docs import DEPRECATED_SERVICE_NAMES

Expected result:

Should display menu to create a new sam application

Additional environment details

  1. OS: Windows 10 Pro Build 19045.3803
  2. sam --version: 1.105.0
  3. AWS region: ca-central-1
# output of `sam --info` here
C:\Users\Admin\AppData\Roaming\Python\Python311\site-packages\requests\__init__.py:102: RequestsDependencyWarning: urllib3 (1.26.15) or chardet (5.2.0)/charset_normalizer (2.0.12) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({})/charset_normalizer ({}) doesn't match a supported "
{
  "version": "1.105.0",
  "system": {
    "python": "3.11.4",
    "os": "Windows-10-10.0.19045-SP0"
  },
  "additional_dependencies": {
    "docker_engine": "Not available",
    "aws_cdk": "Not available",
    "terraform": "Not available"
  },
  "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"
  ]
}
tioluwa commented 8 months ago

The issue was resolved after running

pip install boto3

github-actions[bot] commented 8 months ago

⚠️COMMENT VISIBILITY WARNING⚠️

Comments on closed issues are hard for our team to see. If you need more assistance, please either tag a team member or open a new issue that references this one. If you wish to keep having a conversation with other community members under this issue feel free to do so.