Doc*_*Doc 39 python virtualenvwrapper sublimetext3
我是sublime3的新手,但我找不到任何有用的问题...
我有不同的virtualenvs(用virtualenwrapper制作),我希望能够指定每个项目使用哪个venv
由于我使用SublimeREPL插件来自定义构建,我如何指定用于构建项目的python安装?
例如,当我在项目工作我想要运行与venvA的Python脚本,当我在B项目工作,我想运行与venvB事情(使用不同的构建脚本)
对不起我可怕的英语......
Soy*_*ise 52
希望这是你想象的线.我试图简化我的解决方案并删除一些你可能不需要的东西.
这种方法的优点是:
如果您有任何问题,或者我完全错过了您想要做的事情,请告诉我.
打开我们的项目文件进行编辑:
Project -> Edit Project
Run Code Online (Sandbox Code Playgroud)在项目的设置中添加一个新键,指向所需的virtualenv:
"settings": {
"python_interpreter": "/home/user/.virtualenvs/example/bin/python"
}
Run Code Online (Sandbox Code Playgroud)一个"python_interpreter"项目设置键也被类似的插件蟒蛇.
浏览到Sublime Text的Packages目录:
Preferences -> Browse Packages...
Run Code Online (Sandbox Code Playgroud)为我们的插件创建一个新的python文件,如: project_venv_repls.py
将以下python代码复制到此新文件中:
import sublime_plugin
class ProjectVenvReplCommand(sublime_plugin.TextCommand):
"""
Starts a SublimeREPL, attempting to use project's specified
python interpreter.
"""
def run(self, edit, open_file='$file'):
"""Called on project_venv_repl command"""
cmd_list = [self.get_project_interpreter(), '-i', '-u']
if open_file:
cmd_list.append(open_file)
self.repl_open(cmd_list=cmd_list)
def get_project_interpreter(self):
"""Return the project's specified python interpreter, if any"""
settings = self.view.settings()
return settings.get('python_interpreter', '/usr/bin/python')
def repl_open(self, cmd_list):
"""Open a SublimeREPL using provided commands"""
self.view.window().run_command(
'repl_open', {
'encoding': 'utf8',
'type': 'subprocess',
'cmd': cmd_list,
'cwd': '$file_path',
'syntax': 'Packages/Python/Python.tmLanguage'
}
)
Run Code Online (Sandbox Code Playgroud)打开用户密钥绑定文件:
Preferences -> Key Bindings - User
Run Code Online (Sandbox Code Playgroud)添加一些键绑定以使用该插件.一些例子:
// Runs currently open file in repl
{
"keys": ["f5"],
"command": "project_venv_repl"
},
// Runs repl without any file
{
"keys": ["f6"],
"command": "project_venv_repl",
"args": {
"open_file": null
}
},
// Runs a specific file in repl, change main.py to desired file
{
"keys": ["f7"],
"command": "project_venv_repl",
"args": {
"open_file": "/home/user/example/main.py"
}
}
Run Code Online (Sandbox Code Playgroud)Jay*_*ong 19
有一个名为的sublime text3包,Virtualenv允许你使用virtualenv中的Python进行构建.
它支持你的virtualenv中的任何版本的Python,并且对我来说非常好(MacOS).
要安装它,我们只需command+ Shift+ P来调用pacakge控件(如果你还没有它,请安装它),然后输入install.下一种类型virtualenv,当您看到它时,单击return以安装它.
安装后,选择Tools- > Build System- > Python + Virtualenv.然后你可以使用command+ B来执行你的Python项目.
单击此处查看更多信息.
Guo*_*eng 10
我有一个替代方案。只需创建一个新的“构建系统”,就像在虚拟环境中一样运行。这里我们称它为“my_python”。目的是使用这个构建系统直接运行我的脚本而不离开 sublime。你需要:
preferences->Browse Packages。这将打开一个文件夹,其中包含设置文件。进入 dirUser并创建一个名为my_python.sublime-build(由构建系统名称后跟.sublime_build.组成的新文件。执行此操作后,转到Tools -> Build System,您将看到一个新选项my_python。将以下 JSON 设置添加到该文件。
{
"shell_cmd": "/Users/Ted/bsd/vector/.v_venv/bin/python -u \"$file\"",
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python"
}
Run Code Online (Sandbox Code Playgroud)
在里面shell_cmd,更改/Users/Ted/bsd/vector/.v_venv/bin/python为您的python 虚拟环境的路径。
然后只需使用快捷键来构建您的脚本。
当您想更改虚拟环境时,只需将其路径复制到设置文件即可。也许这种方法看起来包含很多工作,但它运行良好且方便。
小智 5
您正在寻找定制构建系统。
从菜单栏中,单击Tools -> Build Systems -> New Build System...
填写它提供的模板并将其保存在以.sublime-build您的User文件夹结尾的任何文件名下。
以下是制作自定义构建系统的文档:
https://www.sublimetext.com/docs/3/build_systems.html
我建议为 python 脚本创建一个自定义构建系统,然后为您想要的每个虚拟环境添加变体。(参见变体https://www.sublimetext.com/docs/3/build_systems.html#option-variants)
当你创建一个构建系统时,你可以将它们切换
Tools -> Build Systems
Run Code Online (Sandbox Code Playgroud)
(如果未自动检测到)并使用命令面板(默认 ctrl + shift p)在变体之间切换。
唯一的“问题”是"cmd"描述要运行什么命令的参数。默认情况下,它需要一个字符串数组作为命令运行,但您可以使用"shell_cmd"一个字符串来表示如何通过命令行运行它。
| 归档时间: |
|
| 查看次数: |
33649 次 |
| 最近记录: |