使用virtualenv和sublime文本2

Rig*_*ong 26 python virtualenv sublimetext2

我使用sublime text 2进行python开发以及virtualenv!

标准的sublime text 2构建系统使用标准的python安装而不是我的virtualenv安装我的软件包.

如何使用我的virtualenv获得崇高的文本2?

我目前使用终端来激活我的环境并运行我的脚本.

更新:从来没有让它工作,但看到我正在使用烧瓶,它建立当你做出改变,这不是一个大问题

use*_*490 15

您还可以将构建系统的路径设置为binvirtualenv 的目录,如下所示:

"build_systems":
[
    {
        "selector": "source.python",
        "env": {"PYTHONPATH":"/Users/user/project"},
        "path":"/Users/user/work/myvirtualenv/bin:$PATH",
        "name": "Run virtualenv python",
        "cmd": ["python", "-u", "$file"],
        "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",

        "variants": [
            {   "name": "Run all Tests",
                "working_dir": "/Users/user/project",
                "cmd": ["nosetests"]
            } 
        ]
    }
]
Run Code Online (Sandbox Code Playgroud)

这也允许其他工具(如nose示例中)从virtualenv中找到正确的python二进制文件.


小智 13

在Windows中这对我有用:

"build_systems":
[
    {
    "name": "Run Tests",
    "working_dir": "/path/to/to/your/django_project",
    "cmd": ["/path/to/your/virtualenv/bin/python.exe", "manage.py", "test"]
    }
]
Run Code Online (Sandbox Code Playgroud)


小智 12

Sublime的Build System支持可与Sublime项目文件一起使用的变量,使其在项目中更具可移植性.

如果您的虚拟环境位于标准位置,请在虚拟环境目录上方的项目根目录中创建一个新项目文件(项目 - >将项目另存为).然后使用以下内容创建一个新的构建文件:

{

    "cmd": ["$project_path/venv/bin/python", "-u", "$file"]

}
Run Code Online (Sandbox Code Playgroud)

它似乎然后自动获取其余部分 - 就像从命令行键入./venv/bin/python一样 - 不需要弄乱路径,环境变量等.


Rom*_*ain -4

请注意有关此解决方案不正确的评论。

您必须编辑sublime-project 文件并添加以下内容:

"build_systems":
[
    {
    "name": "Run Tests",
    "cmd": ["source", "/path/to/your/virtualenv/bin/activate"],
    "working_dir": "/path/to/to/you/django_project",
    "cmd": ["python", "manage.py", "test"]
    }
]
Run Code Online (Sandbox Code Playgroud)

  • 这不起作用,我无法理解如何将其标记为正确。“source”命令是一个内置命令,而不是二进制命令,因此在 PATH 中找不到它,因此执行时会出现“文件未找到错误”。也许 PYTHONPATH 和 evn 的混合会有所帮助,但我仍在尝试这样做。 (3认同)