在交互环境
import scrapy # 成功
但是在终端 scrapy 新建项目就出错了
Traceback (most recent call last):
File "/usr/local/bin/scrapy", line 7, in <module>
from scrapy.cmdline import execute
File "/usr/local/lib/python2.7/dist-packages/scrapy/cmdline.py", line 9, in <module>
from scrapy.crawler import CrawlerProcess
File "/usr/local/lib/python2.7/dist-packages/scrapy/crawler.py", line 15, in <module>
from scrapy.signalmanager import SignalManager
File "/usr/local/lib/python2.7/dist-packages/scrapy/signalmanager.py", line 2, in <module>
from pydispatch import dispatcher
ImportError: No module named pydispatch
可是, pydispatch包已经有了呀!
$ pip install --upgrade pydispatch
Requirement already up-to-date: pydispatch in /usr/local/lib/python2.7/dist-packages
Requirement already up-to-date: colorama>=0.2.7 in /usr/local/lib/python2.7/dist-packages (from pydispatch)
Requirement already up-to-date: six>=1.5.2 in /usr/local/lib/python2.7/dist-packages (from pydispatch)
Adakah terdapat sesuatu yang salah dengan persediaan persekitaran?
Semak sama ada terdapat pakej pemasangan dalam kod bermasalah anda:
Kaedah diambil daripada:
http://stackoverflow.com/questions/739993/how-can-i-get-a-list-of-locally-installed-python-modules
Saya menyemak nota Keluaran Scrapy dan mendapati
Maksudnya, versi terkini scrapy tidak menggunakan modul pydispatch, tetapi menggunakan modul pydispatcher
Jadi mungkin anda tidak menggunakan scrapy terkini?
Sebagai penyelesaian, saya cadangkan anda menggunakan virtualenv untuk membina satu persekitaran ular sawa Bebas, pasang semula scrapy terkini dalam persekitaran ini.
atau pasang semula scrapy terus dalam sistem
pip pasang PyDispatcher