python中的导入规则是什么?

kam*_*mal 2 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文件的集合

Ber*_*ard 5

首先你必须__init__.py在mud和子文件夹中有文件,但文件可以是空的.看一下包部分中的Python教程:http://docs.python.org/tutorial/modules.html#packages

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