Python3.4 scrapy1.1.0 windows7
这是我的文件结构:
我在myspider开头写了:
import scrapy import mysqls import pymysql import const from const import DB_CONFIG
但crawl时报错ImportError: No module named 'mysqls',而且const也无法导入。
Traceback:
D:\byr>scrapy crawl bbs Traceback (most recent call last): File "d:\python\lib\runpy.py", line 170, in _run_module_as_main "__main__", mod_spec) File "d:\python\lib\runpy.py", line 85, in _run_code exec(code, run_globals) File "D:\python\Scripts\scrapy.exe\__main__.py", line 9, inFile "d:\python\lib\site-packages\scrapy\cmdline.py", line 141, in execute cmd.crawler_process = CrawlerProcess(settings) File "d:\python\lib\site-packages\scrapy\crawler.py", line 238, in __init__ super(CrawlerProcess, self).__init__(settings) File "d:\python\lib\site-packages\scrapy\crawler.py", line 129, in __init__ self.spider_loader = _get_spider_loader(settings) File "d:\python\lib\site-packages\scrapy\crawler.py", line 325, in _get_spider _loader return loader_cls.from_settings(settings.frozencopy()) File "d:\python\lib\site-packages\scrapy\spiderloader.py", line 33, in from_se ttings return cls(settings) File "d:\python\lib\site-packages\scrapy\spiderloader.py", line 20, in __init_ _ self._load_all_spiders() File "d:\python\lib\site-packages\scrapy\spiderloader.py", line 28, in _load_a ll_spiders for module in walk_modules(name): File "d:\python\lib\site-packages\scrapy\utils\misc.py", line 71, in walk_modu les submod = import_module(fullpath) File "d:\python\lib\importlib\__init__.py", line 109, in import_module return _bootstrap._gcd_import(name[level:], package, level) File " ", line 2254, in _gcd_import File " ", line 2237, in _find_and_load File " ", line 2226, in _find_and_load_unlocked File " ", line 1200, in _load_unlocked File " ", line 1129, in _exec File " ", line 1471, in exec_module File " ", line 321, in _call_with_frames_removed File "D:\byr\byr\spiders\myspider.py", line 2, in import mysqls ImportError: No module named 'mysqls'
直接在idle下运行myspider就没有问题。
我是初学者,百度了好久都百度不出结果,希望大大们不吝赐教!
关键在于你启动的时候是在根目录下的 所以import是不应该直接这样的
import mysqls import pymysql import const
应该为 byr.spiders.mysqls
或者相对路径 from . import mysqls
(这个应该更好)