在一些Python腳本我看到下面的進口:Python模塊路徑
import fileA
import someDir.fileB
from fileC import functionA
存在着相應的文件fileA.py
,someDir/fileB.py
和fileC.py
。然而,雖然看在Requests源代碼,我發現這個在__init__.py
文件:
from requests.packages.urllib3.contrib import pyopenssl
在這種情況下,requests
是CWD和packages.urllib3.contrib.pyopenssl.py
是文件。爲什麼這個違反慣例?我確實看到packages.urllib3.contrib
目錄也有一個__init__.py
文件,其中seems to be related。
此外,我不確定它是否相關,但我認爲這是我在這裏發佈。在我的腳本中,我有文件夾kennethreitz/requests
,因爲應用程序依賴於請求模塊,但是我將它部署到可能沒有安裝請求的環境。但是,僅僅添加到文件import kennethreitz.requests
不包括請求模塊。我import kennethreitz.requests.__init__
和其他一些明顯的排列,但我不能讓模塊導入。 如何使用我的代碼打包請求?明顯的Google searches沒有幫助。