在交互环境
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)
Y a-t-il un problème avec la configuration de l'environnement ?
Vérifiez s'il y a un package d'installation dans votre code problématique :
Méthode tirée de :
http://stackoverflow.com/questions/739993/how-can-i-get-a-list-of-locally-installed-python-modules
J'ai vérifié les notes de version de Scrapy et j'ai trouvé
C'est-à-dire que la dernière version de scrapy n'utilise pas le module pydispatch, mais utilise le module pydispatcher
Alors peut-être que vous n'utilisez pas la dernière version de scrapy ?
Comme solution, je vous suggère d'utiliser virtualenv pour en créer un Environnement python indépendant, réinstallez le dernier scrapy dans cet environnement.
ou réinstallez scrapy directement dans le système
pip installe PyDispatcher