Skip to content

Chuky tools don't work with Python 2.7 #1

Description

@evonide

Hi there,

when I run "setup.py" with python install I can install the chucky-tools.
However, unfortunately I am getting the following error on execution of chucky-knn:
Traceback (most recent call last): File "./chucky-knn", line 9, in <module> load_entry_point('chucky-tools==0.1.dev0', 'console_scripts', 'chucky-knn')() File "build/bdist.linux-x86_64/egg/chucky_tools/base/chucky_fields_tool.py", line 44, in main File "build/bdist.linux-x86_64/egg/chucky_tools/neighborhood/knn_tool.py", line 12, in __init__ TypeError: super() argument 1 must be type, not classobj
According to some research it seems that super is only allowed to be called on new-style classes (i.e. Classes that inherit from "object") at least for Python 2.x. Does chucky-tools require a Python version >= 3.0 although Chucky-ng requires Python 2.7?

Update 1:
For now I could quick fix this issue by adding ", object):" at the end of each class descriptor in several files. Example:
class NeighborhoodTool(FieldsTool, DimensionReductionTool, ChuckyEmbeddingLoader, ChuckyLogger, ChuckyJoern, object):

Update 2:
There were several issues with the inheritance. I could fix those by changing the inheritance order to:
class NeighborhoodTool(DimensionReductionTool, ChuckyEmbeddingLoader, ChuckyLogger, ChuckyJoern, FieldsTool, object):

Update 3:
I had to comment out the function call "self._joern.sendInitCommand()" in the file "chucky_joern.py". This method is unavailable in newer Joern versions.

Kind regards,
evonide

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions