Yelp / elastalert

Easy & Flexible Alerting With ElasticSearch
https://elastalert.readthedocs.org
Apache License 2.0
7.99k stars 1.74k forks source link

[ super() argument 1 must be type, not None ] on setup.py exotel #1654

Closed hollowimage closed 6 years ago

hollowimage commented 6 years ago

Searching for exotel>=0.1.3
Reading https://pypi.python.org/simple/exotel/
Downloading https://files.pythonhosted.org/packages/c6/68/6373dedcc7f7eadc017f9629e2f1b33393e8f740fb9c801962a3ce4dfa91/exotel-0.1.5.tar.gz#sha256=db96e4b659e514da457364c6775c075d793fa90fab9d84f43575d1a5ee846bf4
Best match: exotel 0.1.5
Processing exotel-0.1.5.tar.gz
Writing /tmp/easy_install-_UOJYh/exotel-0.1.5/setup.cfg
Running exotel-0.1.5/setup.py -q bdist_egg --dist-dir /tmp/easy_install-_UOJYh/exotel-0.1.5/egg-dist-tmp-ycKCwl
Traceback (most recent call last):
  File "setup.py", line 47, in <module>
    'twilio>=6.0.0,<6.1',
  File "/usr/lib/python2.7/distutils/core.py", line 151, in setup
    dist.run_commands()
  File "/usr/lib/python2.7/distutils/dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/usr/lib/python2.7/site-packages/setuptools/command/install.py", line 67, in run
    self.do_egg_install()
  File "/usr/lib/python2.7/site-packages/setuptools/command/install.py", line 117, in do_egg_install
    cmd.run()
  File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 411, in run
    self.easy_install(spec, not self.no_deps)
  File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 655, in easy_install
    return self.install_item(None, spec, tmpdir, deps, True)
  File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 702, in install_item
    self.process_distribution(spec, dist, deps)
  File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 747, in process_distribution
    [requirement], self.local_index, self.easy_install
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 846, in resolve
    dist = best[req.key] = env.best_match(req, ws, installer)
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 1118, in best_match
    return self.obtain(req, installer)
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 1130, in obtain
    return installer(requirement)
  File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 674, in easy_install
    return self.install_item(spec, dist.location, tmpdir, deps)
  File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 700, in install_item
    dists = self.install_eggs(spec, download, tmpdir)
  File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 881, in install_eggs
    return self.build_and_install(setup_script, setup_base)
  File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1120, in build_and_install
    self.run_setup(setup_script, setup_base, args)
  File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1106, in run_setup
    run_setup(setup_script, args)
  File "/usr/lib/python2.7/site-packages/setuptools/sandbox.py", line 236, in run_setup
    with setup_context(setup_dir):
  File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
    return self.gen.next()
  File "/usr/lib/python2.7/site-packages/setuptools/sandbox.py", line 198, in setup_context
    yield
  File "/usr/lib/python2.7/contextlib.py", line 35, in __exit__
    self.gen.throw(type, value, traceback)
  File "/usr/lib/python2.7/site-packages/setuptools/sandbox.py", line 169, in save_modules
    saved_exc.resume()
  File "/usr/lib/python2.7/site-packages/setuptools/sandbox.py", line 144, in resume
    six.reraise(type, exc, self._tb)
  File "/usr/lib/python2.7/site-packages/setuptools/sandbox.py", line 157, in save_modules
    yield saved
  File "/usr/lib/python2.7/site-packages/setuptools/sandbox.py", line 197, in setup_context
    __import__('setuptools')
  File "/usr/lib/python2.7/site-packages/setuptools/__init__.py", line 10, in <module>
    from setuptools.extern.six.moves import filter, map
  File "/usr/lib/python2.7/site-packages/setuptools/extern/__init__.py", line 1, in <module>
    from pkg_resources.extern import VendorImporter
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 74, in <module>
    __import__('pkg_resources.extern.packaging.requirements')
  File "/usr/lib/python2.7/site-packages/pkg_resources/extern/__init__.py", line 43, in load_module
    __import__(extant)
  File "/usr/lib/python2.7/site-packages/pkg_resources/_vendor/packaging/requirements.py", line 9, in <module>
    from pkg_resources.extern.pyparsing import stringStart, stringEnd, originalTextFor, ParseException
  File "/usr/lib/python2.7/site-packages/pkg_resources/extern/__init__.py", line 43, in load_module
    __import__(extant)
  File "/usr/lib/python2.7/site-packages/pkg_resources/_vendor/pyparsing.py", line 943, in <module>
    collections.MutableMapping.register(ParseResults)
  File "/usr/lib/python2.7/abc.py", line 109, in register
    if issubclass(subclass, cls):
  File "/usr/lib/python2.7/abc.py", line 180, in __subclasscheck__
    if issubclass(subclass, scls):
  File "build/bdist.linux-x86_64/egg/typing.py", line 1249, in __subclasscheck__
TypeError: super() argument 1 must be type, not None
The command '/bin/sh -c python setup.py install' returned a non-zero code: 1```

This started happening this week. anyone have this issue? i am not sure if its elastalert related, but it is failing on the step of my docker build which runs 

` RUN python setup.py install `

and i see there was a change pushed to master a few days ago about pulling json.
tjeason commented 6 years ago

Having the same issue installing on Ubuntu 16.04 Server LTS.

tjeason commented 6 years ago

Python package, exotel 0.1.5, is breaking the setup installation. On my local machine, I modified setup.py in the install_requires list to exotel>=0.1.3,<0.1.5 and the I was able to install elastalert successfully.

Should this be committed as a pull request to limit exotel dependency installation to either exotel 01.3 or 0.1.4? It seems the exotel 0.1.5 API has changed.

hollowimage commented 6 years ago

i found the same issue, but what surprised me was that exotel 0.1.5 has been released almost a year ago, and from what I can tell requirements did not change from = to > or anything of the sort.

kvalev commented 6 years ago

Using one of the earlier exotel versions (0.1.3 or 0.1.4) does not fix it for me when building inside an alpine-based docker container.

hollowimage commented 6 years ago

@kvalev thats quite right, i just tried it and still fails for me as well. using alpine here.

tjeason commented 6 years ago

I think I found the root cause. jira 1.0.15 was recently released. It was breaking my build of elastalert on Ubuntu 16.04 LTS. Using version 1.0.14 worked for me.

kvalev commented 6 years ago

@tjeason Thanks. That fixed it for me. It seems that the actual problem might be with sphinx 1.6+ (https://github.com/sphinx-doc/sphinx/issues/3976), which seems to have been added to the jira plugin recently.

hollowimage commented 6 years ago

@tjeason +1, works now on alpine.

Thank you kindly! I am going to close this out, as this isn't really an elastalert issue, but I hope it helps others.

venkatagajara commented 3 years ago

error: Setup script exited with error: 'egg_base' must be a directory name (got src) im using alpine:3.8 as py-ea