告诉Python fabfile使用不同的Python解释器?

时间:2019-05-03 20:49:21

标签: python fabric

是否有一种方法可以告诉Python Fabric脚本(fabfile.py)使用与默认Python不同的Python版本执行?我有一个使用Python 2.7构建的虚拟环境,我的fabfile必须在venv的上下文中执行。但是,我希望此fabfile使用我的python3可执行文件运行,以便可以利用Python 3的某些功能。我可以做一些与您在Bash脚本中可以做的事情一样的事情,在其中您可以说“#!/ bin / bash”,从而指定用于运行脚本的确切Bash可执行文件吗?

1 个答案:

答案 0 :(得分:0)

假设您正在运行它:

$ fab ...

尝试

$ which fab

找到它的位置。对我来说,它位于/usr/local/bin/fab

#!/usr/bin/python

# -*- coding: utf-8 -*-
import re
import sys

from fabric.main import main

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
    sys.exit(main())

因此您可以对其进行编辑或创建副本:fab3或特定于您的环境的版本。