SublimeREPL的键绑定启动Python virtualenv

时间:2015-02-15 22:25:36

标签: python sublimetext2 sublimerepl

我在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 for Python。

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

以下是我的keybindings文件....它会启动一个新窗口,立即报告" REPL CLOSED。"代码不起作用,甚至接近......我设法做的最好的事情是让它在Sublime附带的Python env中启动当前的Python文件....但是显示我尝试过的内容的兴趣,我已经尝试修改我的用户的sublime-keymap文件(下面修改的最新版本)大约一个半小时......我可以& #39;任何与在VirtualEnv中启动SublimeREPL窗口相关的在线内容,或任何类似的东西,我都可以弄清楚如何解决这个问题。在这一点上,我必须放弃,看看是否有其他人设法做到这一点。如果您有任何想法,请提前感谢您的帮助。

[
    { "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"
                    } 
    }
]

1 个答案:

答案 0 :(得分:0)

这应该有效:

[
 {
    "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使用了什么。

使用"args":第19行的~/Library/Application Support/Sublime Text 2/Packages/SublimeREPL/config/Python/Main.sublime-menu获取Key Bindings -- User

中的参数

旁注:

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

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

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