用Capistrano激活Virtualenv Wrapper

问题描述 投票:1回答:1

我正在尝试使用Capistrano部署Django项目。 Capistrano将代码部署到我的服务器并完成部署步骤。

但是当我尝试添加这样的自定义任务时......

task :collect_static do
  on roles(:app) do |host|
    execute "cd #{release_path}/myproject"
    execute "workon myproject"
    execute "./manage.py collectstatic"
  end
end

after "deploy:updated", "collect_static"

它抛出以下错误......

02 bash: workon: command not found

部署之后,如果我手动SSH到服务器并运行workon命令它工作正常(相同的用户)。 Just Capistrano不承认吗?

ruby python-3.x capistrano3 virtualenvwrapper
1个回答
2
投票

workon不是一个程序,而是来自virtualenvwrapper的shell函数。要让bash找到它,你必须在shell中找到virtualenvwrapper.sh

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.