2015-02-23 22 views
5

ich Ubuntu 14.04 x64 bin mit, ich habe die Scrapy docs folgte das Paket mit pip zu installieren:Python & Scrapy: Ausgabe mit Scrapy Version

pip install scrapy 

Dann folgte ich der Initialisierung des Beispielprojekts und versuchen, die Beispiel Spinne auszuführen:

scrapy crawl example 

und ich diesen er bekommen 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' 

ich mit pip freeze | grep 'Scrapy' überprüfte die installierte Version von Scrapy zu überprüfen, und ich bekam:

Scrapy==0.24.4 

aber wie man in der Zurückverfolgungsfehlermeldung angezeigt:

2015-02-23 10:23:42+0100 [scrapy] INFO: Scrapy 0.14.4 started (bot: example) 
  1. Ich habe versucht,
  2. zu deinstallieren und neu zu installieren
  3. Ich habe auch versucht, pip, deinstallieren und neu zu installieren scrapy
  4. Ich habe versucht, es zu installieren mit apt-get

  • Warum Wenn ich installiert die neueste Version (0.24.4 aktualisiert) es scheint, dass es 0.14.4 ausführt?
  • Ist dieses Problem mit Scrapy, Pip oder beiden verbunden?

Edit:

Hier finden Sie die Datei example_spider.py ist:

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) 

Wenn ich scrapy version ausführen als @aberna sugested Ich habe:

Scrapy 0.14.4 
+0

Schreiben Sie die Import-Anweisung, die Sie gibt ein Problem. Das ist 'example_spider.py', Zeile 3 (siehe Fehler) –

+0

was passiert, wenn Sie den Befehl" scrapy version "ausführen? Welche Version von Scrapy wird verwendet? – aberna

+0

@aberna es sagt 'Scrapy 0.14.4' ... Wie kann ich upgraden? 'pip install --upgrade' wird ignoriert – AlvaroAV

Antwort

5

hatte ich ein ähnliches Ausgabe damals und es war, weil das Ubuntu Paket war mit der pip paket.

Wenn ich installiert Scrapy mit pip und versuchen, es zu laufen, scrapy sagt, dass das Paket war einige Abhängigkeiten fehlen, und dann habe ich installiert Scrapyapt-get verwenden und dort ist, wo ich mit dem Paket Version vermasselt.

Ich empfehle Ihnen, beide Pakete zu entfernen, von Ubuntu und Pip und dann neu installieren nur pip mit:

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

Nachdem diese Aktionen beendet Sie können es erneut installieren pip verwenden, und wenn Sie dann tun scrapy version sollten Sie als Antwort die neueste Version erhalten, in Ihrem Fall sollte es 0,24.4 sein.

EDIT

Sie können dies in Scrapy Dokumentation lesen:

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

Scrapy in Ubuntu installieren sagen sie:

  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

Vielen Dank! Ich hatte Scrapy-Paket installiert, nach der Deinstallation mit Apt und Pip und neu installieren mit Pip funktioniert es perfekt! – AlvaroAV

+0

Ein absoluter Retter! Ich bekam solche verrückten Fehler wegen der Versions-Probleme auf meinem Ubuntu und diese Antwort hat mir viel Zeit gespart. Prost. – AmirHd