为什么我得到一个python ImportError:没有名为html_parser的模块?

Jam*_*s P 6 python pelican

我上周将我的机器升级到优胜美地.现在,当尝试运行pelican devserver时,我得到一个ImportError:

$ ./develop_server.sh start
Starting up Pelican and HTTP server
Traceback (most recent call last):
  File "/usr/local/bin/pelican", line 7, in <module>
    from pelican import main
  File "/Library/Python/2.7/site-packages/pelican/__init__.py", line 20, in <module>
    from pelican.generators import (ArticlesGenerator, PagesGenerator,
  File "/Library/Python/2.7/site-packages/pelican/generators.py", line 23, in <module>
    from pelican.readers import Readers
  File "/Library/Python/2.7/site-packages/pelican/readers.py", line 24, in <module>
    from six.moves.html_parser import HTMLParser
ImportError: No module named html_parser
/usr/bin/python: No module named html_parser
Pelican didn't start. Is the Pelican package installed?
Stale PID, deleting
Stale PID, deleting
Run Code Online (Sandbox Code Playgroud)

尝试直接导入时,我从REPL得到同样的错误,但是安装了模块:

$ /usr/bin/python
Python 2.7.6 (default, Sep  9 2014, 15:04:36) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import 
KeyboardInterrupt
>>> from six.moves.html_parser import HTMLParser
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named html_parser
>>> import six
>>> six.moves.html_parser
<module 'HTMLParser' from '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/HTMLParser.pyc'>
>>> six.moves.html_parser.HTMLParser
<class HTMLParser.HTMLParser at 0x10b751530>
>>> 
Run Code Online (Sandbox Code Playgroud)

我错过了一些明显的东西吗 这里发生了什么?

Kla*_* D. 5

六个库使用了一些高级导入魔法.html_parser必须以特殊方式进口.from six.moves import html_parser通常有效.如果你有第三方代码尝试从另一种方式从六个导入,你可以尝试导入six和/或six.moves在导入任何其他东西之前.

  • 谢谢,我会把它作为bug提交给鹈鹕团队 (2认同)