2017-06-14 63 views
0

我見過的Python解釋器的幫助:「python -m spacy download en」究竟幹什麼?

-m mod : run library module as a script (terminates option list) 

但我還是不知道什麼

python -m spacy download en 

一樣。我認爲它是這樣的

import spacy 
spacy.download('en') 

但似乎並非如此。代碼被執行的地方在哪裏?

+0

的'下載en'命令行參數傳遞給'spacy'模塊來處理 – vaultah

+1

了'-m'標誌主要是告訴Python來運行模塊作爲腳本(實現通常在模塊的__init __。py'文件中添加一個'if __name__ =='__main __「:'塊,以便在運行時爲其提供特殊功能) – Aaron

回答

1

命令

python -m <module_name> <args> 

允許你包括在你的包運行python __main__.py <args>,與__main__.py。 在你的情況,這將是這一個:Spacy's main.py

+0

只需確保: ''被設置爲'sys.argv'? –

+0

是的,有一些特殊的考慮。大多數情況下,'sys.argv [0]'可能是錯誤的,這就是爲什麼spacy的主要原因是它使用'sys.argv [0] ='spacy'' –

0

你問:「有哪一個被執行的代碼

如前所述,它就會在__main__.py

什麼WASN運行不說明是下載代碼實際居住的地方,這是在spacy.cli

我以前有問題從spaCy從python下載en(而不是逗號第二行)。

這可以通過運行 spacy.cli.download('en')