我有一个名为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的模块
为什么?
答案 0 :(得分:2)
当存在某个结构时,import命令仅将每个文件夹作为包(可导入)(参见Python Docs)。
您必须在导入的每个子目录中放置一个__init__.py
文件(可能是空白文件)。