python:如何导入嵌套包?

时间:2013-06-27 10:29:34

标签: python import

我有一个名为myscrapy的包,目录结构是:

+ spider-common
--+ myscrapy
----+ basespiders
------+ __init__.py
------+ mod.py
--+ __init__.py
--+ mod.py

我有一个环境变量:

export PYTHONPATH=~/spider-common

这是成功的:

from myscrapy import mod

但它失败了:

from myscrapy.basespiders import mod

ImportError:没有名为myscrapy.basespiders的模块

为什么?

1 个答案:

答案 0 :(得分:2)

当存在某个结构时,import命令仅将每个文件夹作为包(可导入)(参见Python Docs)。 您必须在导入的每个子目录中放置一个__init__.py文件(可能是空白文件)。