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

  • Atlantic Records

    Atlantic Rec

    15 Aralık 2006
  • psidot

    psidot

    2 Kasım 2006
  • UniqueApps

    UniqueApps

    4 Ocak 2009