为什么Sublime API中没有“sys.argv”?

时间:2012-11-28 07:13:19

标签: python sublimetext2

这个问题在Sublime论坛上已经asked,但似乎没人能回答。也许你可以吗?

我在Windows 7和8,Sublime 2.0.1 x86版本上遇到了同样的问题:

Traceback (most recent call last):
File "./sublime_plugin.py", line 362, in run_
File "./myTestPlugin.py", line 8, in run
AttributeError: 'module' object has no attribute 'argv'

2 个答案:

答案 0 :(得分:5)

因为sublime插件是不是脚本。没有命令行,因此没有要解析的命令行参数。

在Sublime中嵌入了Python,并且对于嵌入式python代码设置sys.argv,Sublime必须显式设置参数。请参阅Intro to embedding Python

如果您对此有强烈的感受,那么您必须与Sublime Text 2开发人员合作,在PySys_SetArgvEx(argc, argv, updatepath)之后添加Py_Initialize()来电。

答案 1 :(得分:0)

使用程序包控制

  1. 通过Package Control安装此Sublime Text 2/3软件包;
  2. 搜索软件包:"InputArgs" 或者,

OSX:

$ cd ~/Library/Application\ Support/Sublime\ Text\ <2/3>/Packages/
$ git clone git://github.com/bilalba/InputArgs.git InputArgs

Linux(Ubuntu像发行版一样):

$ cd ~/.config/sublime-text-<2/3>/Packages/
$ git clone git://github.com/bilalba/InputArgs.git InputArgs

Windows:

将目录复制到:

"C:\Users\<username>\AppData\Roaming\Sublime Text <2/3>\Packages"