Scrapy startproject给出了奇怪的错误

时间:2015-08-04 20:23:19

标签: python python-2.7 python-3.x web-crawler scrapy

我几乎是肯定的,这是因为python2.7与python3.5问题,但我还没有找到解决方法。

我跑

    $ scrapy startproject test1

并收到此错误:

    Traceback (most recent call last):
       File "/Library/Frameworks/Python.framework/Versions/3.5/bin/scrapy", line 9, in <module>
          load_entry_point('Scrapy==1.0.1', 'console_scripts', 'scrapy')()
       File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/scrapy/cmdline.py", line 122, in execute
          cmds = _get_commands_dict(settings, inproject)
       File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/scrapy/cmdline.py", line 46, in _get_commands_dict
          cmds = _get_commands_from_module('scrapy.commands', inproject)
       File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/scrapy/cmdline.py", line 29, in _get_commands_from_module
          for cmd in _iter_command_classes(module):
       File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-     packages/scrapy/cmdline.py", line 21, in _iter_command_classes
    for obj in vars(module).itervalues():
    AttributeError: 'dict' object has no attribute 'itervalues'

2 个答案:

答案 0 :(得分:2)

截至撰写时(2015年8月4日),python 3中根本不支持scrapy。经常提到它,但从未有过完整的翻译。

这与Python 3中不支持Twisted(Scrapy的组成部分)这一事实有关。

答案 1 :(得分:0)

似乎Python 3.5的dict类型不再具有'itervalues'方法。除非他们解决了这个问题,否则您可能会被迫使用以前版本的Python。

编辑:

如果需要,可以更改代码,并使用items()替换itervalues()函数。我认为这不是一个好主意,但如果必须使用3.5

,它可能是一种解决方法
相关问题