jpf / lokey

A tool that makes it easy to work with and convert between cryptographic key formats
GNU General Public License v3.0
93 stars 15 forks source link

Metaclasses conflict #4

Open layoaster opened 5 years ago

layoaster commented 5 years ago

I'm consistently getting a TypeError exception:

Traceback (most recent call last):
File "/usr/local/bin/lokey", line 6, in <module>
from lokey import cli
File "/usr/local/lib/python2.7/site-packages/lokey/__init__.py", line 9, in <module>
import eris
File "/usr/local/lib/python2.7/site-packages/eris/__init__.py", line 14, in <module>
from pgpy.constants import (
File "/usr/local/lib/python2.7/site-packages/pgpy/__init__.py", line 5, in <module>
from .pgp import PGPKey
File "/usr/local/lib/python2.7/site-packages/pgpy/pgp.py", line 24, in <module>
from .constants import CompressionAlgorithm
File "/usr/local/lib/python2.7/site-packages/pgpy/constants.py", line 22, in <module>
from .types import FlagEnum
File "/usr/local/lib/python2.7/site-packages/pgpy/types.py", line 260, in <module>
class PGPObject(six.with_metaclass(abc.ABCMeta, object)):
File "/usr/local/lib/python2.7/abc.py", line 87, in __new__
cls = super(ABCMeta, mcls).__new__(mcls, name, bases, namespace)
TypeError: Error when calling the metaclass bases
metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases

It happens both in my machine and with your docker image that I had to modify to install make so pip could build deps:

RUN apk add --no-cache \
gcc \
musl-dev \
libffi-dev \
openssl-dev \
make
jpf commented 5 years ago

Did you get it working? If so, can you send me a pull request?

layoaster commented 5 years ago

I couldn't get it working and after not so long found the jwcrypto library to export my JWKS's public key to PEM format. Right now I can't devote time on it, sorry!

rita-liu commented 5 years ago

Got the same issue. Works for me after pip install six==1.10.0