我使用
设置我的项目scrapy startproject can411
所以存在__init__.py
个文件。
这是我的蜘蛛canada_411Spider.py中的代码 (与项目文件夹的名称不同)
from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
from can411.items import Can411Item
当我尝试导入Can411Item时,会抛出一个找不到模块的错误。 (是的items.py文件存在并且具有名为Can411Item的类)
我可以通过编辑PYTHONPATH var来包含
来解决问题"C:\Python26\ArcGIS10.0;F:\TOOLS\Python Development\ScrapyWork\can411"
这似乎是解决我的问题的极端方法。任何项目如何更好地解决这个问题,而无需将路径硬编码到环境设置中?
文件结构是:
F:\TOOLS\Python Development\ScrapyWork\can411\can411\spiders
答案 0 :(得分:0)
应该调用这些文件__init__.py
而不是__init.py__
。
您的目录结构是什么样的?
dirbot/
├── dirbot
│ ├── __init__.py
│ ├── items.py
│ ├── pipelines.py
│ ├── settings.py
│ └── spiders
│ ├── __init__.py
│ └── dmoz.py
├── README.rst
├── scrapy.cfg
└── setup.py
此外,也许您可以包含完整的堆栈跟踪错误输出以及您正在使用的命令行。