1

我设置我的项目使用

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
4

1 回答 1

0

这些文件应该被称为__init__.pynot __init.py__

你的目录结构是什么样的?

dirbot/
├── dirbot
│   ├── __init__.py
│   ├── items.py
│   ├── pipelines.py
│   ├── settings.py
│   └── spiders
│       ├── __init__.py
│       └── dmoz.py
├── README.rst
├── scrapy.cfg
└── setup.py

此外,也许您可​​以将完整的堆栈跟踪错误输出与您正在使用的命令行一起包含在内。

于 2013-04-15T20:26:49.277 回答