如果我想使用第三方模块,如python s3模块(boto http://boto.s3.amazonaws.com/index.html)或http://developer.amazonwebservices.com/connect/entry.jspa?externalID=134。
下载.py文件后,我该怎么办?
导入模块时python解释器在哪里看?
是否有“轻量级”安装模块的方式,这样可以更轻松地部署到服务器?
答案 0 :(得分:1)
查看the import statement reference,这是一篇冗长而详尽的描述。
简单的方法是在sys.path
中包含模块的位置。
我只引用了起始段落:
一旦知道模块的名称(除非另有说明,术语“模块”将指代包和模块),搜索模块或包可以开始。检查的第一个地方是
sys.modules
,之前导入的所有模块的缓存。如果在那里找到该模块,那么它将在导入的步骤(2)中使用。如果在缓存中找不到该模块,则然后搜索
sys.meta_path
(可以在PEP 302中找到sys.meta_path
的规范)。该对象是查找器对象的列表,通过使用模块名称调用它们的find_module()
方法,查询它们是否知道如何加载模块。如果模块恰好包含在一个包中(由名称中存在一个点表示),则给出find_module()的第二个参数作为 path 属性的值。父包(一直到要导入的模块名称中的最后一个点)。如果查找程序可以找到该模块,它将返回一个加载程序(稍后讨论)或返回None。如果
sys.meta_path
上的任何查找程序都找不到该模块,则会查询一些隐式定义的查找程序。 Python的实现因隐式元路径查找器的定义而异。 他们所有人都定义的那个是处理sys.path_hooks
,sys.path_importer_cache
和sys.path
的人。
答案 1 :(得分:0)
它会查找您当前正在使用的目录。例如,如果您尝试从/test/my_file.py
内导入,则可以将模块放在/test/
中,只需import module_name