fabric 使用 "source" 命令返回 127
fabric returning 127 with "source" command
我只是想不通为什么会这样...
在我的结构文件中我有这个...
def func():
local("source ../venv/bin/activate")
它在 source 命令上返回 127,我不确定为什么,当我尝试在终端中手动 运行 source 时,它起作用了。当我在 fabric 中尝试不同的命令时,比如...
local("echo 'foo'")
它也有效。为什么 source 会引起问题?我看不出会发生这种情况的任何原因。
source
sh
未知。如果你想在虚拟环境的上下文中使用 运行 命令,请使用 Fabric 的上下文管理器和 运行 没有源代码的 activate
二进制文件。我改编自 this answer.
from __future__ import with_statement
from fabric.api import *
from contextlib import contextmanager as _contextmanager
env.activate = '. ./.env/bin/activate'
@_contextmanager
def virtualenv():
with prefix(env.activate):
yield
def deploy():
with virtualenv():
local('echo hello world!')
我只是想不通为什么会这样...
在我的结构文件中我有这个...
def func():
local("source ../venv/bin/activate")
它在 source 命令上返回 127,我不确定为什么,当我尝试在终端中手动 运行 source 时,它起作用了。当我在 fabric 中尝试不同的命令时,比如...
local("echo 'foo'")
它也有效。为什么 source 会引起问题?我看不出会发生这种情况的任何原因。
source
sh
未知。如果你想在虚拟环境的上下文中使用 运行 命令,请使用 Fabric 的上下文管理器和 运行 没有源代码的 activate
二进制文件。我改编自 this answer.
from __future__ import with_statement
from fabric.api import *
from contextlib import contextmanager as _contextmanager
env.activate = '. ./.env/bin/activate'
@_contextmanager
def virtualenv():
with prefix(env.activate):
yield
def deploy():
with virtualenv():
local('echo hello world!')