module 'argon2' has no attribute 'low_level'
*Created originally on Bitbucket by Anonymous* - passlib: `1.7.1` - macOS: `10.12.6` - python: `3.6.3` - backend: `argon2-0.1.10` Once I uninstalled `argon2` the error message changed and suggested using `argon2_cffi`. Using `argon2_cffi-16.3.0` resolved the issue. If the `argon2` pip package is not supported, then `passlib` should probably provide a better error message and direct users to `argon2_cffi`. ``` Traceback (most recent call last): File "/Users/jared/src/ctf-api/tests/base_case.py", line 32, in setUpClass 'last_name': 'Powers', File "/Users/jared/src/ctf-api/tests/base_case.py", line 67, in create_user user = User(data) File "<string>", line 4, in __init__ File "/Users/jared/src/ctf-api/env/lib/python3.6/site-packages/sqlalchemy/orm/state.py", line 414, in _initialize_instance manager.dispatch.init_failure(self, args, kwargs) File "/Users/jared/src/ctf-api/env/lib/python3.6/site-packages/sqlalchemy/util/langhelpers.py", line 66, in __exit__ compat.reraise(exc_type, exc_value, exc_tb) File "/Users/jared/src/ctf-api/env/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 187, in reraise raise value File "/Users/jared/src/ctf-api/env/lib/python3.6/site-packages/sqlalchemy/orm/state.py", line 411, in _initialize_instance return manager.original_init(*mixed[1:], **kwargs) File "/Users/jared/src/ctf-api/ctf_api/models/user/user.py", line 34, in __init__ self.password_hash = argon2.hash(password) File "/Users/jared/src/ctf-api/env/lib/python3.6/site-packages/passlib/handlers/argon2.py", line 520, in hash cls._stub_requires_backend() File "/Users/jared/src/ctf-api/env/lib/python3.6/site-packages/passlib/utils/handlers.py", line 2221, in _stub_requires_backend cls.set_backend() File "/Users/jared/src/ctf-api/env/lib/python3.6/site-packages/passlib/utils/handlers.py", line 2130, in set_backend return cls.set_backend(name, dryrun=dryrun) File "/Users/jared/src/ctf-api/env/lib/python3.6/site-packages/passlib/utils/handlers.py", line 2155, in set_backend cls._set_backend(name, dryrun) File "/Users/jared/src/ctf-api/env/lib/python3.6/site-packages/passlib/utils/handlers.py", line 2278, in _set_backend super(SubclassBackendMixin, cls)._set_backend(name, dryrun) File "/Users/jared/src/ctf-api/env/lib/python3.6/site-packages/passlib/utils/handlers.py", line 2191, in _set_backend ok = loader(**kwds) File "/Users/jared/src/ctf-api/env/lib/python3.6/site-packages/passlib/handlers/argon2.py", line 565, in _load_backend_mixin max_version = _argon2_cffi.low_level.ARGON2_VERSION AttributeError: module 'argon2' has no attribute 'low_level' ```
issue