Python 碎片导入错误:没有模块命名项

Python 碎片导入错误:没有模块命名项,python,scrapy,importerror,Python,Scrapy,Importerror,我使用 scrapy startproject can411 因此,\uuu init\uuu.py文件就存在了 这是我的spider canada_411Spider.py中的代码 (名称与项目文件夹不同) 当我尝试导入Can411Item时,抛出模块未找到错误。(Yes items.py文件存在,并且具有名为Can411Item的类) 我可以通过编辑PYTHONPATH变量来修复这个问题 "C:\Python26\ArcGIS10.0;F:\TOOLS\Python Development

我使用

scrapy startproject can411
因此,
\uuu init\uuu.py
文件就存在了

这是我的spider canada_411Spider.py中的代码 (名称与项目文件夹不同)

当我尝试导入Can411Item时,抛出模块未找到错误。(Yes items.py文件存在,并且具有名为Can411Item的类)

我可以通过编辑PYTHONPATH变量来修复这个问题

"C:\Python26\ArcGIS10.0;F:\TOOLS\Python Development\ScrapyWork\can411" 
这似乎是解决我问题的一个非常糟糕的方法。任何项目如何更好地修复此问题,而无需将路径硬编码到环境设置中

文件结构为:

F:\TOOLS\Python Development\ScrapyWork\can411\can411\spiders

这些文件应被称为
\uuuu init\uuuuuuuuuuupy
而不是
\uuuuuuinit.py\uuuuuuuuu

您的目录结构是什么样子的

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

另外,您可以在使用的命令行中包含完整的stacktrace错误输出。

Type,my bad。是的,文件结构与您给出的示例类似。您能否在问题中包含文件结构,您可能与
can411
有冲突。
dirbot/
├── dirbot
│   ├── __init__.py
│   ├── items.py
│   ├── pipelines.py
│   ├── settings.py
│   └── spiders
│       ├── __init__.py
│       └── dmoz.py
├── README.rst
├── scrapy.cfg
└── setup.py