使用pelican-quickstart时出错"没有名为html_parser的模块"

als*_*pur 14 python pelican

我决定pelican尝试一下,但是当我跑步时pelican-quickstart,我得到以下对话框:

$ pelican-quickstart
Traceback (most recent call last):
  File "/usr/local/bin/pelican-quickstart", line 9, in <module>
    load_entry_point('pelican==3.4.0', 'console_scripts', 'pelican-quickstart')()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 357, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 2394, in load_entry_point
return ep.load()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 2108, in load
entry = __import__(self.module_name, globals(),globals(), ['__name__'])
  File "/Library/Python/2.7/site-packages/pelican-3.4.0-py2.7.egg/pelican/__init__.py", line 20, in <module>
from pelican.generators import (ArticlesGenerator, PagesGenerator,
  File "/Library/Python/2.7/site-packages/pelican-3.4.0-py2.7.egg/pelican/generators.py", line 23, in <module>
from pelican.readers import Readers
  File "/Library/Python/2.7/site-packages/pelican-3.4.0-py2.7.egg/pelican/readers.py", line 24, in <module>
from six.moves.html_parser import HTMLParser
ImportError: No module named html_parser `
Run Code Online (Sandbox Code Playgroud)

这篇文章中有一个类似的错误消息,因为我在OS X 10.10(Yosemite)上运行Python 2.7.6,可能会出现类似的问题.

解决这个问题的最佳方法是什么?

Ale*_*dov 10

重新安装Pelican对我没有帮助,所以我对鹈鹕进行了一些修复

修改在以下文件中进行

/Library/Python/2.7/site-packages/pelican/readers.py
Run Code Online (Sandbox Code Playgroud)

在第24行

from six.moves import html_parser
Run Code Online (Sandbox Code Playgroud)

代替

from six.moves.html_parser import HTMLParser
Run Code Online (Sandbox Code Playgroud)

在第299行

    class _HTMLParser(html_parser.HTMLParser):
Run Code Online (Sandbox Code Playgroud)

代替

    class _HTMLParser(HTMLParser):
Run Code Online (Sandbox Code Playgroud)

鹈鹕3.6.0的修改实际,但如果在readers.py文件中搜索此行,似乎适用于其他版本.这只是一个快速的解决方法,希望这个问题将在鹈鹕方面得到解决.


Dav*_*sch 5

这个错误似乎来自OSX上的Python 2.7.6.当我通过Homebrew安装python并重新安装此模块时,我摆脱了这个错误.

$ pip uninstall pelican
$ brew install python
$ which python # should show /usr/local/bin/python
$ python -V # should show Python 2.7.8
$ pip install pelican
Run Code Online (Sandbox Code Playgroud)


lou*_*tre -3

您可能需要安装六个。

如果您使用 pip,请尝试

pip install six
Run Code Online (Sandbox Code Playgroud)

然后重新启动 pelican-quickstart