簡體   English   中英

困惑如何在python中導入模塊

[英]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_hookssys.path_importer_cachesys.path

它會在您當前正在使用的目錄中查找。 例如,如果您嘗試從/test/my_file.py內部導入它,則可以將模塊放在/test/ ,只需import module_name

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM