【问题标题】:Why is "sys.argv" not available in Sublime API?为什么 Sublime API 中没有“sys.argv”?
【发布时间】:2012-11-28 07:13:19
【问题描述】:

这个问题已经在 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'

【问题讨论】:

    标签: python sublimetext2


    【解决方案1】:

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

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

    如果您对此有强烈的感觉,则必须向 Sublime Text 2 开发人员提出一个案例,以便在 Py_Initialize() 之后添加一个 PySys_SetArgvEx(argc, argv, updatepath) 调用。

    【讨论】:

      【解决方案2】:

      使用包控制

      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
      

      窗户:

      将目录复制到:

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

      【讨论】:

        猜你喜欢
        • 2018-04-29
        • 1970-01-01
        • 2018-02-10
        • 1970-01-01
        • 1970-01-01
        • 2018-06-24
        • 1970-01-01
        • 2020-07-10
        • 2022-01-11
        相关资源
        最近更新 更多