python中的导入规则是什么

时间:2011-03-02 17:00:44

标签: python python-module python-import

我有一个目录结构:

../POC/mud/
            client/
            common/
            server/

我试图使用以下导入:

from mud.server import config
from mud.common.lib import util

但是当我尝试导入配置时,我收到一个错误:

Python 2.6.6 (r266:84292, Sep 15 2010, 16:22:56) 
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from mud.server import config
Traceback (most recent call last):
  File "", line 1, in 
ImportError: No module named mud.server
>>> from mud.common.lib import util
Traceback (most recent call last):
  File "", line 1, in 
ImportError: No module named mud.common.lib
>>> 

我是否需要在某个位置才能使导入工作,或者需要在操作系统上编译模块?这些“泥”模块只是python .py文件的集合

1 个答案:

答案 0 :(得分:5)

首先,您必须在泥浆和子文件夹中包含__init__.py文件,但该文件可以为空。请查看软件包部分中的Python教程:http://docs.python.org/tutorial/modules.html#packages

此外,您需要位于POC文件夹中才能使import语句生效,或者相应地设置PYTHONPATH env var或动态更新sys.path。