Skip to content

AssertionError importing from azure.identity in Azure Function #19989

Closed
@Valdeminas

Description

@Valdeminas

I'm trying to use azure keyvault in my python azure function.

When importing azure.keyvault.secrets, everything works fine.

However, when I add from azure.identity import DefaultAzureCredential, build fails with (slightly redacted for privacy):

[2021-07-29T12:41:02.772Z] Result: Failure
Exception: AssertionError:
Stack:   File "C:\Users\Username\AppData\Roaming\npm\node_modules\azure-functions-core-tools\bin\workers\python\3.9/WINDOWS/X64\azure_functions_worker\dispatcher.py", line 301, in _handle__function_load_request
    func = loader.load_function(
  File "C:\Users\Username\AppData\Roaming\npm\node_modules\azure-functions-core-tools\bin\workers\python\3.9/WINDOWS/X64\azure_functions_worker\utils\wrappers.py", line 40, in call
    return func(*args, **kwargs)
  File "C:\Users\Username\AppData\Roaming\npm\node_modules\azure-functions-core-tools\bin\workers\python\3.9/WINDOWS/X64\azure_functions_worker\loader.py", line 83, in load_function
    mod = importlib.import_module(fullmodname)
  File "C:\Users\Username\AppData\Local\Programs\Python\Python39\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "D:\Users\Username\Source\Repos\ProjectName\ProjectName\Balance\__init__.py", line 5, in <module>
    from ..shared_code import utility
  File "D:\Users\Username\Source\Repos\ProjectName\ProjectName\shared_code\utility.py", line 4, in <module>
    from azure.identity import DefaultAzureCredential
  File "D:\Users\Username\Source\Repos\ProjectName\ProjectName\.venv\lib\site-packages\azure\identity\__init__.py", line 10, in <module>
    from ._credentials import (
  File "D:\Users\Username\Source\Repos\ProjectName\ProjectName\.venv\lib\site-packages\azure\identity\_credentials\__init__.py", line 5, in <module>
    from .authorization_code import AuthorizationCodeCredential
  File "D:\Users\Username\Source\Repos\ProjectName\ProjectName\.venv\lib\site-packages\azure\identity\_credentials\authorization_code.py", line 8, in <module>   
    from .._internal.aad_client import AadClient
  File "D:\Users\Username\Source\Repos\ProjectName\ProjectName\.venv\lib\site-packages\azure\identity\_internal\__init__.py", line 52, in <module>
    from .interactive import InteractiveCredential
  File "D:\Users\Username\Source\Repos\ProjectName\ProjectName\.venv\lib\site-packages\azure\identity\_internal\interactive.py", line 20, in <module>
    from .msal_credentials import MsalCredential
  File "D:\Users\Username\Source\Repos\ProjectName\ProjectName\.venv\lib\site-packages\azure\identity\_internal\msal_credentials.py", line 11, in <module>       
    from .._persistent_cache import _load_persistent_cache, TokenCachePersistenceOptions
  File "D:\Users\Username\Source\Repos\ProjectName\ProjectName\.venv\lib\site-packages\azure\identity\_persistent_cache.py", line 9, in <module>
    import msal_extensions
  File "D:\Users\Username\Source\Repos\ProjectName\ProjectName\.venv\lib\site-packages\msal_extensions\__init__.py", line 12, in <module>
    from .cache_lock import CrossPlatLock
  File "D:\Users\Username\Source\Repos\ProjectName\ProjectName\.venv\lib\site-packages\msal_extensions\cache_lock.py", line 5, in <module>
    import portalocker
  File "D:\Users\Username\Source\Repos\ProjectName\ProjectName\.venv\lib\site-packages\portalocker\__init__.py", line 4, in <module>
    from . import portalocker
  File "D:\Users\Username\Source\Repos\ProjectName\ProjectName\.venv\lib\site-packages\portalocker\portalocker.py", line 10, in <module>
    import pywintypes
  File "D:\Users\Username\Source\Repos\ProjectName\ProjectName\.venv\lib\site-packages\win32\lib\pywintypes.py", line 105, in <module>
    __import_pywin32_system_module__("pywintypes", globals())
  File "D:\Users\Username\Source\Repos\ProjectName\ProjectName\.venv\lib\site-packages\win32\lib\pywintypes.py", line 99, in __import_pywin32_system_module__    
    assert sys.modules[modname] is not old_mod
.

This stack overflow question seems to deal with the same issue, but sadly does not have an answer :(

Metadata

Metadata

Assignees

Labels

Azure.IdentitybugThis issue requires a change to an existing behavior in the product in order to be resolved.customer-reportedIssues that are reported by GitHub users external to the Azure organization.issue-addressedWorkflow: The Azure SDK team believes it to be addressed and ready to close.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions