Skip to content

Exception: Callable has no attribute __abc_registry #20

@kimgault

Description

@kimgault

Expected Behavior

Cybersource-REST-Client-Python should work with the Python 3.7.

Actual Behavior

Users receive a Callable has no attribute __abc_registry error.

This is a known issue when installing typing on a system that has Python > 3.6 because typing is in the standard library since version 3.5. Importing typing with Python 3.7 fails.

Cloudwatch Log

[ERROR] AttributeError: type object 'Callable' has no attribute '_abc_registry'
Traceback (most recent call last):
  File "/var/lang/lib/python3.7/imp.py", line 234, in load_module
    return load_source(name, filename, file)
  File "/var/lang/lib/python3.7/imp.py", line 171, in load_source
    module = _load(spec)
  File "<frozen importlib._bootstrap>", line 696, in _load
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/var/task/app.py", line 4, in <module>
    from typing import Optional
  File "/var/task/typing.py", line 1347, in <module>
    class Callable(extra=collections_abc.Callable, metaclass=CallableMeta):
  File "/var/task/typing.py", line 1003, in __new__
    self._abc_registry = extra._abc_registry

Steps to Reproduce the Problem

  1. Installed the latest available version of the SDK through pip so it will install all required dependencies too.
  2. Create a test.py file and import the Cybersource SDK in an environment with Python > 3.5.
  3. Execute the script python or upload the code to Lambda and run it.

Suggestion for Fix

Opened a PR here: #21

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      pFad - Phonifier reborn

      Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

      Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


      Alternative Proxies:

      Alternative Proxy

      pFad Proxy

      pFad v3 Proxy

      pFad v4 Proxy