cristoper / feedmixer

A self-hosted API to fetch and mix entries from Atom and RSS feeds (returns Atom, RSS, or JSON)
Do What The F*ck You Want To Public License
168 stars 10 forks source link

AttributeError: module 'feedparser.sgml' has no attribute 'charref' #13

Closed MrGeorgen closed 3 years ago

MrGeorgen commented 3 years ago

I followed the instructions in the readme but I get the following error

[mrgeorgen@mrgPC ~/dev/python/feedmixer]$ pipenv run gunicorn feedmixer_wsgi
[2021-01-24 22:34:16 +0100] [2878] [INFO] Starting gunicorn 20.0.4
[2021-01-24 22:34:16 +0100] [2878] [INFO] Listening at: http://127.0.0.1:8000 (2878)
[2021-01-24 22:34:16 +0100] [2878] [INFO] Using worker: sync
[2021-01-24 22:34:16 +0100] [2884] [INFO] Booting worker with pid: 2884
[2021-01-24 22:34:16 +0100] [2884] [ERROR] Exception in worker process
Traceback (most recent call last):
  File "/home/mrgeorgen/.local/share/virtualenvs/feedmixer-rEvpsW94/lib/python3.9/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker
    worker.init_process()
  File "/home/mrgeorgen/.local/share/virtualenvs/feedmixer-rEvpsW94/lib/python3.9/site-packages/gunicorn/workers/base.py", line 119, in init_process
    self.load_wsgi()
  File "/home/mrgeorgen/.local/share/virtualenvs/feedmixer-rEvpsW94/lib/python3.9/site-packages/gunicorn/workers/base.py", line 144, in load_wsgi
    self.wsgi = self.app.wsgi()
  File "/home/mrgeorgen/.local/share/virtualenvs/feedmixer-rEvpsW94/lib/python3.9/site-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
  File "/home/mrgeorgen/.local/share/virtualenvs/feedmixer-rEvpsW94/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 49, in load
    return self.load_wsgiapp()
  File "/home/mrgeorgen/.local/share/virtualenvs/feedmixer-rEvpsW94/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 39, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/home/mrgeorgen/.local/share/virtualenvs/feedmixer-rEvpsW94/lib/python3.9/site-packages/gunicorn/util.py", line 358, in import_app
    mod = importlib.import_module(module)
  File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 790, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/mrgeorgen/dev/python/feedmixer/feedmixer_wsgi.py", line 18, in <module>
    from feedmixer_api import wsgi_app
  File "/home/mrgeorgen/dev/python/feedmixer/feedmixer_api.py", line 54, in <module>
    from feedmixer import FeedMixer
  File "/home/mrgeorgen/dev/python/feedmixer/feedmixer.py", line 65, in <module>
    import feedparser
  File "/home/mrgeorgen/.local/share/virtualenvs/feedmixer-rEvpsW94/lib/python3.9/site-packages/feedparser/__init__.py", line 39, in <module>
    from . import api
  File "/home/mrgeorgen/.local/share/virtualenvs/feedmixer-rEvpsW94/lib/python3.9/site-packages/feedparser/api.py", line 53, in <module>
    from .html import _BaseHTMLProcessor
  File "/home/mrgeorgen/.local/share/virtualenvs/feedmixer-rEvpsW94/lib/python3.9/site-packages/feedparser/html.py", line 10, in <module>
    from .sgml import *
AttributeError: module 'feedparser.sgml' has no attribute 'charref'
[2021-01-24 22:34:16 +0100] [2884] [INFO] Worker exiting (pid: 2884)
[2021-01-24 22:34:16 +0100] [2878] [INFO] Shutting down: Master
[2021-01-24 22:34:16 +0100] [2878] [INFO] Reason: Worker failed to boot.
cristoper commented 3 years ago

Thanks for reporting this. I'm able to reproduce it, but don't fully understand it. My best guess is that it has something to do with using a recent pipenv on the old Pipfile.lock file. I've updated the Pipfile.lock and now installing and running per the readme works for me. Can you give it a try with the most recent git version?

MrGeorgen commented 3 years ago

ok it works now