Python 在适用于不同用户的sublime文本项目中使用virtualenv

Python 在适用于不同用户的sublime文本项目中使用virtualenv,python,virtualenv,sublimetext3,Python,Virtualenv,Sublimetext3,我正在Sublime Text 3中编辑一个使用VirtualNVS的Python项目。我想定义一个构建步骤,通过virtualenv内部的setup.py运行单元测试 挑战在于,我希望能够将foo.sublime-project提交到版本控制中,并让它在不进行修改的情况下为每个人工作。假设我们在项目上强制使用VirtualEnvrapper,以便virtualenv位于每台机器上的已知位置(~/.virtualenvs/foo) 有没有办法在不硬编码完整路径的情况下配置sublime项目文件?

我正在Sublime Text 3中编辑一个使用VirtualNVS的Python项目。我想定义一个构建步骤,通过virtualenv内部的setup.py运行单元测试

挑战在于,我希望能够将foo.sublime-project提交到版本控制中,并让它在不进行修改的情况下为每个人工作。假设我们在项目上强制使用VirtualEnvrapper,以便virtualenv位于每台机器上的已知位置(
~/.virtualenvs/foo

有没有办法在不硬编码完整路径的情况下配置sublime项目文件?为了在我的机器上工作,我执行以下操作:

{
    ...
    "build_systems":
    [
        {
            "name": "Unit tests",
            "cmd": ["/Users/lorin/.virtualenvs/foo/bin/python", "setup.py", "test"]
        }
    ]
}
理想情况下,我会这样做:

"cmd": ["~/.virtualenvs/foo/bin/python", "setup.py", "test"]
但是升华似乎无法将
~
解析到用户的主目录中


编辑:我们使用git进行版本控制

我对Sublime不熟悉,因此无法建议直接执行此任务


作为一种解决方法,您可以设置一个配置包的
post-receive
hook。您可以在版本控制下拥有一个示例配置文件,并使用bash中的
pwd
或python中的
os.path.expanduser
构建一个真正的配置。

配置文件是JSON还是python代码?啊,它们是JSON。如果是Python,您可以使用
os
模块…@alko我正在使用git。我将把这一点补充到问题中。