SORU
4 Mart 2012, Pazar


virtualenv bir ortam değişkeni ayarı

Ortam değişkenleri yapılandırma almak için kullandığı Heroku bir proje var, ama virtualenv benim app yerel olarak ilk test için kullanıyorum.

Çevre değişkenleri ayarlamak için uzak makinede tanımlı virtualenv içinde var mı?

CEVAP
21 HAZİRAN 2012, PERŞEMBE


Diye kullanıyorsun virtualenvwrapper (şiddetle tavsiye ediyorum bunu yaparken), tanımlayabilirsiniz farklı kanca (), postactivate, predeactivate, postdeactivate) kullanarak komut dosyaları ile aynı adları $VIRTUAL_ENV/bin/. Postactivate kanca gerekir.

$ workon myvenv

$ cat $VIRTUAL_ENV/bin/postactivate
#!/bin/bash
# This hook is run after this virtualenv is activated.
export DJANGO_DEBUG=True
export S3_KEY=mykey
export S3_SECRET=mysecret

$ echo $DJANGO_DEBUG
True

Eğer proje dizininizde bu yapılandırma tutmak istiyorsanız, sadece 7* *proje dizinine bir sembolik bağ oluşturmak.

$ rm $VIRTUAL_ENV/bin/postactivate
$ ln -s .env/postactivate $VIRTUAL_ENV/bin/postactivate

14* *kullanmak her zaman olabilirmkvirtualenv.

Üzerinde devre dışı temizleniyor

Bu alışkanlık kendisi sonra temizlemek unutmayın. Bu virtualenv devre dışı bıraktığınızda, ortam değişkeni devam edecek. Simetrik olarak temiz $VIRTUAL_ENV/bin/predeactivate ekleyebilirsiniz.

$ cat $VIRTUAL_ENV/bin/predeactivate
#!/bin/bash
# This hook is run before this virtualenv is deactivated.
unset DJANGO_DEBUG

$ deactivate

$ echo $DJANGO_DEBUG

Eğer zaten ortamda ayarlanmış olabilir, bu ortam değişkenleri bu kullandıktan sonra geri al virtualenv bırakarak tamamen geri al onları neden olacağını unutmayın. Eğer bu olası değilse eski değerini bir yere geçici kayıt olabilir, daha sonra devre dışı bırakmak arka okuyun.

Kurulum:

$ cat $VIRTUAL_ENV/bin/postactivate
#!/bin/bash
# This hook is run after this virtualenv is activated.
if [[ -n $SOME_VAR ]]
then
    export SOME_VAR_BACKUP=$SOME_VAR
fi
export SOME_VAR=apple

$ cat $VIRTUAL_ENV/bin/predeactivate
#!/bin/bash
# This hook is run before this virtualenv is deactivated.
if [[ -n $SOME_VAR_BACKUP ]]
then
    export SOME_VAR=$SOME_VAR_BACKUP
    unset SOME_VAR_BACKUP
else
    unset SOME_VAR
fi

Test:

$ echo $SOME_VAR
banana

$ workon myenv

$ echo $SOME_VAR
apple

$ deactivate

$ echo $SOME_VAR
banana

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Caroline Martin

    Caroline Mar

    19 EYLÜL 2008
  • Google Chrome

    Google Chrom

    1 EYLÜL 2008
  • NewsyTech

    NewsyTech

    2 AĞUSTOS 2010