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

  • Ampisound

    Ampisound

    12 Kasım 2006
  • circuschina

    circuschina

    16 Mart 2007
  • CrazyMan

    CrazyMan

    14 Mayıs 2008