2017-06-14 317 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')