question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Ciphey TypeError with Python 3.9

See original GitHub issue

⚠️IMPORTANT⚠️ if you do not fill this out, we will automatically delete your issue. We will not help anyone that cannot fill out this template.

Describe the bug After installing Ciphey using pip3, running Ciphey with any argument will cause the problem.

Plaintext ⚠️IMPORTANT⚠️ The below code is non-negotiable for “Ciphey didn’t decrypt…” problems. If you do not tell us your plaintext, we will not help you.

raceback (most recent call last):
  File "<home>/.local/bin/ciphey", line 5, in <module>
    from ciphey.ciphey import main
  File "<home>/.local/lib/python3.9/site-packages/ciphey/__init__.py", line 1, in <module>
    from . import basemods, common, iface
  File "<home>/.local/lib/python3.9/site-packages/ciphey/basemods/__init__.py", line 1, in <module>
    from . import Checkers, Crackers, Decoders, Resources, Searchers
  File "<home>/.local/lib/python3.9/site-packages/ciphey/basemods/Checkers/__init__.py", line 1, in <module>
    from . import any, brandon, ezcheck, format, human, quorum, regex
  File "<home>/.local/lib/python3.9/site-packages/ciphey/basemods/Checkers/any.py", line 3, in <module>
    from ciphey.iface import Config, ParamSpec, PolymorphicChecker, registry
  File "<home>/.local/lib/python3.9/site-packages/ciphey/iface/__init__.py", line 1, in <module>
    from ._config import Config
  File "<home>/.local/lib/python3.9/site-packages/ciphey/iface/_config.py", line 11, in <module>
    from ._modules import PolymorphicChecker, ResourceLoader, Searcher
  File "<home>/.local/lib/python3.9/site-packages/ciphey/iface/_modules.py", line 208, in <module>
    class CrackResult(NamedTuple, Generic[T]):
  File "/usr/lib/python3.9/typing.py", line 1820, in _namedtuple_mro_entries
    raise TypeError("Multiple inheritance with NamedTuple is not supported")
TypeError: Multiple inheritance with NamedTuple is not supported

Version ⚠️IMPORTANT⚠️ We need this information because different environments will induce different bugs in Ciphey

  • OS/Distro: Arch Linux
  • Python version: Python 3.9.0
  • Ciphey versions: ciphey 5.11.0, cipheycore 0.3.2, cipherdists 0.3.34
  • Did you use Docker? No

Verbose Output ⚠️IMPORTANT⚠️ Verbose output will tell us why it’s not working the way we expected it to be. Run Ciphey with ciphey -vvv and paste the results into Pastebin.com or a GitHub Gist

Verbose output is the same as the plaintext.

To Reproduce Steps to reproduce the behavior:

  1. What input did you use? Any input or without input.
  2. What flags / arguments did you use? Any argument or without argument

Expected behavior A clear and concise description of what you expected to happen. Ciphey runs without this error.

Any other information? Add any other context about the problem here.

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Reactions:4
  • Comments:7 (2 by maintainers)

github_iconTop GitHub Comments

2reactions
eggman64commented, Feb 3, 2021
0reactions
scott-m-willettcommented, Feb 20, 2021

Workaround for now may be to comment out line 1880 and 1881 from the file /usr/lib/python3.9/typing.py or the equivalent in your case (line 1820 in your case). Worked for me. Could be other consequences out of this in the future.

This may help you find the lines

def _namedtuple_mro_entries(bases): # if len(bases) > 1: # raise TypeError(“Multiple inheritance with NamedTuple is not supported”)

Read more comments on GitHub >

github_iconTop Results From Across the Web

Object type <class 'str'> cannot be passed to C code using ...
TypeError : Object type <class 'str'> cannot be passed to C code ... Now I'm trying the same code in Python 3.9.1 and...
Read more >
Changelog — Python 3.9.14 documentation
GenericAlias will now raise a TypeError when attempting to initialize with a keyword argument. Previously, this would cause the interpreter to crash if...
Read more >
PyCryptodome Documentation - Read the Docs
Why does strxor raise TypeError: argument 2 must be bytes, not bytearray? ... PyCryptodome is a self-contained Python package of low-level ...
Read more >
ciphey - PyPI
Fully automated decryption/decoding/cracking tool using natural language processing & artificial intelligence, along with some common sense. Installation Guide ...
Read more >
AES — PyCryptodome 3.15.0 documentation
AES is very fast and secure, and it is the de facto standard for symmetric encryption. As an example, encryption can be done...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found