SublimeREPL的Keybinding用于启动Python virtualen

2024-05-16 07:24:59 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我尝试使用修改keybindings的代码

Running Python interactively from within Sublime Text 2

作为一个起点 Sublime text3 and virtualenvs

Running Python interactively from within Sublime Text 2

我可能遗漏了一些非常明显的东西,但现在我越来越不清楚是否需要编写一个插件、一个宏,或者(正如我所想的那样)编写一个简单的键绑定,以便使用虚拟环境启动SublimeREPL for Python。在

有人写过keybinding来在virtualenv中启动Python吗?如果是的话,你是怎么做到的?在

以下内容在我的keybindings文件中。。。。它启动了一个新窗口,立即报告“REPL CLOSED”。代码不工作,甚至关闭。。。我所能做的最好的就是让它在Sublime附带的Python env中启动当前的Python文件。。。。但是为了展示我所做的,我尝试了修改我用户的sublime keymap文件(下面的修改的最新迭代)大约一个半小时。。。我无法在网上找到任何与在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"
                    } 
    }
]

Tags: 文件代码textfromvirtualenv虚拟环境replrunning
1条回答
网友
1楼 · 发布于 2024-05-16 07:24:59

这应该是有效的:

[
 {
    "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,请替换

^{pr2}$

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

相关问题 更多 >