Python中的导入规则是什么
我有一个文件夹结构:
../POC/mud/ client/ common/ server/
我想使用以下的导入:
from mud.server import config from mud.common.lib import util
但是当我尝试导入config时,出现了一个错误:
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 >>>
我需要在特定的位置才能让导入工作吗?还是说这些模块需要在操作系统上编译?这些“mud”模块其实就是一堆Python的.py文件。
1 个回答
6
首先,你需要在主文件夹和子文件夹里放一个叫做 __init__.py
的文件,这个文件可以是空的。你可以看看Python教程中关于包的部分,了解更多信息:http://docs.python.org/tutorial/modules.html#packages
另外,你需要在POC文件夹里,这样导入语句才能正常工作。或者你可以设置PYTHONPATH这个环境变量,或者动态更新sys.path。