【问题标题】:Keybinding for SublimeREPL to launch a Python virtualenvSublimeREPL 的键绑定以启动 Python virtualenv
【发布时间】:2015-04-16 09:41:21
【问题描述】:

我在 Mac 上使用 Sublime Text 2。我启用了 SublimeREPL,我正在尝试创建一个键绑定,该绑定为位于我的 virtualenvwrapper 文件夹中的虚拟环境启动 REPL 窗口,~/Documents/PythonEnvs/

我尝试使用

修改我的键绑定的代码

Running Python interactively from within Sublime Text 2

作为起点,然后是 Sublime text3 and virtualenvs

Running Python interactively from within Sublime Text 2

我可能遗漏了一些非常明显的东西,但实际上我现在越来越不清楚是否需要编写插件、宏,或者(我认为)只是编写一个简单的键绑定来启动 SublimeREPL用于使用虚拟环境的 Python。

有没有人编写了一个键绑定来在 virtualenv 中启动 Python?如果是这样,你是怎么做到的?

以下内容在我的键绑定文件中......它会启动一个新窗口,立即报告“REPL CLOSED”。代码不起作用,甚至接近...我设法做的最好的事情就是让它在 Sublime 附带的 Python 环境中启动当前的 Python 文件....但是为了展示什么我已经尝试过了,我已经尝试修改我的用户的 sublime-keymap 文件(下面修改的最新迭代)大约一个半小时......而且我无法在线与在 aa 中启动 SublimeREPL 窗口相关VirtualEnv,或任何类似的东西,我可以弄清楚如何解决这个问题。在这一点上,我必须认输,看看是否有其他人成功做到了。如果您有任何想法,请提前感谢您的帮助。

[
    { "keys": ["command+shift+p"], "command": "repl_open", 
                 "caption": "Python - virtualenv",
                 "mnemonic": "p",
                 "args": {
                    "type": "subprocess",
                    "encoding": "utf8",
                    "cmd": ["python", "-u", "$file"],
                    "cwd": "$file_path",
                    "syntax": "Packages/Python/Python.tmLanguage",
                    "external_id": "Python - virtualenv"
                    } 
    }
]

【问题讨论】:

    标签: python sublimetext2 sublimerepl


    【解决方案1】:

    这应该可行:

    [
     {
        "keys": ["command+shift+p"],
        "command": "repl_open",
        "args": {
            "type": "subprocess",
            "encoding": "utf8",
            "cmd": ["python", "-i", "-u"],
            "cwd": "$file_path",
            "syntax": "Packages/Python/Python.tmLanguage",
            "external_id": "python",
            "extend_env": {"PYTHONIOENCODING": "utf-8"}
        }
     }
    ]
    

    为了得到这个,我只是检查了 sublimeREPL 自己使用了什么。

    ~/Library/Application Support/Sublime Text 2/Packages/SublimeREPL/config/Python/Main.sublime-menu 的第19 行使用"args": 来作为Key Bindings -- User 中的参数

    旁注:

    要从版本 2.7 切换到 3,请替换

    "cmd": ["python", "-i", "-u"],
    

    "cmd": ["python3", "-i", "-u"],
    

    【讨论】:

      猜你喜欢
      • 2021-10-11
      • 2014-09-03
      • 2012-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-16
      • 1970-01-01
      相关资源
      最近更新 更多