SORU
24 Temmuz 2009, Cuma


Üzerinden kumaş olarak virtualenv dağıtmak için bir kullanıcı etkinleştirmek

Benim server dönüşmesi, günlük, dağıtmak için kullanıcı değiştir, projeleri aktif hale getirecek kumaş benim komut dosyasını çalıştırmak için yerel olarak istiyorum .proje için dizin değişikliği ve git bir çek verecek virtualenv,.

def git_pull():
    sudo('su deploy')
    # here i need to switch to the virtualenv
    run('git pull')

Ben genellikle dosya etkinleştirmek ve postactivate DOSYASı proje klasöründe karşılayabileceğiz virtualenvwrapper gelen workon komutunu kullanın. Bu durumda, kabuk içinde kumaş çalıştığı için, kontrol kumaşa ver bitti gibi görünüyor, bash kaynak-dahili kullanamam bu yüzden '$kaynak ~/./myvenv/bin/' . virtualenv etkinleştirmek

Herkes bir örnek var ve bu yaptıkları nasıl bir açıklama?

CEVAP
19 Mart 2011, CUMARTESİ


Bitprophet hava durumu güncelleme: öneki kullanabilirsiniz Kumaş 1.0) ve kendi bağlamı yöneticileri.

from __future__ import with_statement
from fabric.api import *
from contextlib import contextmanager as _contextmanager

env.hosts = ['servername']
env.user = 'deploy'
env.keyfile = ['$HOME/.ssh/deploy_rsa']
env.directory = '/path/to/virtualenvs/project'
env.activate = 'source /path/to/virtualenvs/project/bin/activate'

@_contextmanager
def virtualenv():
    with cd(env.directory):
        with prefix(env.activate):
            yield

def deploy():
    with virtualenv():
        run('pip freeze')

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • geraldnonadoez

    geraldnonado

    3 Temmuz 2013
  • Jonathan Leack

    Jonathan Lea

    26 ŞUBAT 2007
  • kourtneyannmakeup

    kourtneyannm

    19 ŞUBAT 2012