2015-02-23 70 views
5

我使用Ubuntu的14.04 64,我跟着Scrapy文檔安裝的軟件包使用PIP的Python和Scrapy:問題與Scrapy版本

pip install scrapy 

然後我跟着示例項目的初始化,並嘗試執行例如蜘蛛

scrapy crawl example 

,我得到這個呃ROR:

2015-02-23 10:23:42+0100 [scrapy] INFO: Scrapy 0.14.4 started (bot: example) 
2015-02-23 10:23:42+0100 [scrapy] DEBUG: Enabled extensions: LogStats, TelnetConsole, CloseSpider, WebService, CoreStats, MemoryUsage, SpiderState 
Traceback (most recent call last): 
    File "/usr/local/bin/scrapy", line 11, in <module> 
    sys.exit(execute()) 
    File "/usr/lib/python2.7/dist-packages/scrapy/cmdline.py", line 132, in execute 
    _run_print_help(parser, _run_command, cmd, args, opts) 
    File "/usr/lib/python2.7/dist-packages/scrapy/cmdline.py", line 97, in _run_print_help 
    func(*a, **kw) 
    File "/usr/lib/python2.7/dist-packages/scrapy/cmdline.py", line 139, in _run_command 
    cmd.run(args, opts) 
    File "/usr/lib/python2.7/dist-packages/scrapy/commands/crawl.py", line 43, in run 
    spider = self.crawler.spiders.create(spname, **opts.spargs) 
    File "/usr/lib/python2.7/dist-packages/scrapy/command.py", line 34, in crawler 
    self._crawler.configure() 
    File "/usr/lib/python2.7/dist-packages/scrapy/crawler.py", line 36, in configure 
    self.spiders = spman_cls.from_crawler(self) 
    File "/usr/lib/python2.7/dist-packages/scrapy/spidermanager.py", line 37, in from_crawler 
    return cls.from_settings(crawler.settings) 
    File "/usr/lib/python2.7/dist-packages/scrapy/spidermanager.py", line 33, in from_settings 
    return cls(settings.getlist('SPIDER_MODULES')) 
    File "/usr/lib/python2.7/dist-packages/scrapy/spidermanager.py", line 23, in __init__ 
    for module in walk_modules(name): 
    File "/usr/lib/python2.7/dist-packages/scrapy/utils/misc.py", line 65, in walk_modules 
    submod = __import__(fullpath, {}, {}, ['']) 
    File "/home/alvaro/vagrantenvs/example/example/spiders/example_spider.py", line 3, in <module> 
    class ExampleSpider(scrapy.Spider): 
AttributeError: 'module' object has no attribute 'Spider' 

pip freeze | grep 'Scrapy'檢查,檢查的安裝版本Scrapy和我:

2015-02-23 10:23:42+0100 [scrapy] INFO: Scrapy 0.14.4 started (bot: example) 

    Scrapy==0.24.4 
    

    但你可以在追蹤錯誤見

  1. 我試圖卸載並重新安裝
  2. 我想也更新點子,卸載scrapy並重新安裝
  3. 我試着用安裝它易於得到

  • 爲什麼如果我安裝最新版本(0.24.4 )它似乎正在執行0.14.4?
  • 此問題與Scrapy,Pip或兩者有關?

編輯:

這是文件example_spider.py:

import scrapy 

class ExampleSpider(scrapy.Spider): 
    name = "example" 
    allowed_domains = ["dmoz.org"] 
    start_urls = [ 
     "http://www.dmoz.org/Computers/Programming/Languages/Python/Books/", 
     "http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/" 
    ] 

    def parse(self, response): 
     filename = response.url.split("/")[-2] 
     with open(filename, 'wb') as f: 
      f.write(response.body) 

如果我執行scrapy version作爲@aberna sugested我:

Scrapy 0.14.4 
+0

郵政import語句,讓你一個問題。這是'example_spider.py',第3行(請參見錯誤) – 2015-02-23 09:45:37

+0

如果執行命令「scrapy版本」,會發生什麼情況?什麼版本的scrapy被使用? – aberna 2015-02-23 13:01:38

+0

@aberna它說'Scrapy 0.14.4'...我怎麼升級? 'pip install --upgrade'被忽略 – AlvaroAV 2015-02-24 07:40:56

回答

5

我也有類似當時的問題和那是因爲Ubuntu包被搞亂了pip包。

當我使用Scrapy PIP並嘗試運行安裝它,scrapy說,包是缺少一些依賴關係,然後我用apt-get安裝Scrapy並沒有在那裏我搞砸了與包的版本。

我建議你從刪除這些軟件包Ubuntu的皮普,然後使用PIP只重新安裝:

apt-get remove --purge python-scrapy 
pip uninstall scrapy 

後這些行動完成後,您可以再次使用PIP並安裝它,然後,如果你做scrapy version你應該得到最新版本的響應,在你的情況下它應該是0.24.4

編輯

您可以在Scrapy文檔閱讀:

python-scrapy is a different package provided by official debian repositories, it’s very outdated and it isn’t supported by Scrapy team.

要在Ubuntu安裝Scrapy他們說:

  1. Import the GPG key used to sign Scrapy packages into APT keyring:

    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 627220E7

  2. Create /etc/apt/sources.list.d/scrapy.list file using the following command:

    echo 'deb http://archive.scrapy.org/ubuntu scrapy main' | sudo tee /etc/apt/sources.list.d/scrapy.list

3.Update package lists and install the scrapy-0.24 package:

sudo apt-get update && sudo apt-get install scrapy-0.24

Check Here: Scrapy on Ubuntu

+1

謝謝!我安裝了scrapy軟件包,用apt和pip卸載後重新安裝,效果非常好! – AlvaroAV 2015-02-27 07:46:30

+0

絕對的救星!由於我的Ubuntu版本問題,我得到了這樣的瘋狂錯誤,這個回覆爲我節省了大量的時間。乾杯。 – AmirHd 2015-07-10 06:14:32