[英]Confused how to import modules in python
如果我想使用第三方模塊(例如python s3模塊)(boto http://boto.s3.amazonaws.com/index.html )或http://developer.amazonwebservices.com/connect/entry.jspa?externalID = 134 。
下載.py文件后,該怎么辦?
導入模塊時python解釋器在哪里?
是否有“輕巧”的模塊安裝方式,從而使部署到服務器更容易?
查看import語句參考 ,這是一個冗長而復雜的描述。 簡單的方法是將模塊的位置包括在sys.path
。
我僅引用開始段落:
一旦知道模塊的名稱(除非另有說明,否則術語“模塊”將同時指代軟件包和模塊),就可以開始搜索模塊或軟件包。 首先檢查的是
sys.modules
, 這是先前已導入的所有模塊的緩存 。 如果在那里找到模塊,則將其用於導入步驟(2)。如果在緩存中沒有找到模塊, 然后
sys.meta_path
搜索 (對於本說明書sys.meta_path
可以在PEP 302中找到)。 該對象是查找程序對象的列表,這些查找程序對象通過調用帶有模塊名稱的find_module()
方法來查詢它們是否知道如何加載模塊。 如果模塊恰好包含在包中(由名稱中的點表示),則將find_module()的第二個參數作為父包中path屬性的值給出(直到導入模塊名稱中的最后一個點)。 如果查找程序可以找到模塊,則它將返回加載程序(稍后討論)或返回無。如果
sys.meta_path
上的所有sys.meta_path
均無法找到該模塊,則將查詢一些隱式定義的查找器。 Python的實現在定義隱式元路徑查找器方面有所不同。 他們都定義了一個處理sys.path_hooks
,sys.path_importer_cache
和sys.path
。
它會在您當前正在使用的目錄中查找。 例如,如果您嘗試從/test/my_file.py
內部導入它,則可以將模塊放在/test/
,只需import module_name
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.