2010-02-21 11 views
5

Bağımlılık yönetimi için buildout kullanmak istiyorum ve dağıtımı projenizin kurulumunu yönetmenin yeni ve iyi yolu olduğunu duyuyorum. Bununla birlikte, işe başlamak için kolay eğiticiler zeminde zayıf gibi görünmektedir. Gördüğüm en ileriye doğru Jacob Kaplan-Moss'in Developing Django apps with zc.buildout'u (kullanım durumum bir web uygulamasıdır), ancak zincirin her parçasının ne yaptığını ve en iyi uygulamaların ne olduğu konusunda hala net değil.zc.buildout ve Distribute ile nasıl başlarım?

Bu işlere nasıl devam edebilirim? Ben doğru şeyler yapmak istiyorum.

cevap

6

Tüm takım zincirini http://reinout.vanrees.org/weblog/tags/softwarereleasesseries.html numaralı belgede belgelemeye başladım (2010-02-25: hala buildout ve yazılanlar makalesini yazmalı).

Temel araç zinciri fikri: python kodunuzu paketlemek için setuptools'u kullanın. Bahsettiğiniz "gelişen django uygulamaları" makalesi gibi: her uygulama kendi paketidir. Kodunuzu bir dizine koyun ve bir setup.py ekleyin. Setup.py sürüm numarası, adı, bağımlılıkları vb. Içerir ve örneğin bir proproject-0.1.tar.gz oluşturmak için çalıştırabilirsiniz.

Herşeyi ("easy_install xyz") yüklemek, sisteminizin pythonunun site_packages'ini tamamen ve tamamen karıştırır. Muhtemelen uyumsuz sürümleri. Buildout (ve örneğin virtualenv) size yalıtılmış bir ortam sunar: kurulu paketler sadece bu virtualenv/buildout'a yerel olarak yüklenir.

Mess bölüm 2: hangi sürümleri istiyorsunuz? Tekrarlanabilirlik ve güvenilirlik için herhangi bir ölçü almak için kullandığınız sürümleri kontrol edebilmeniz gerekir ("Django 1.0 veya 1.1?"). Buildout buna izin veriyor.

+0

+1. (Ve yazmaya devam edin! :)) –

+0

Fark üzerine bir yan not: virtualenv, her şeyi izole edilmiş bir env'de yapmış olursunuz. ve global sistemle uğraşmadan normal şekilde çalışın. Buildout, her şeyi yerel olarak yükler ve yerel paketlere giden yolu değiştirir. İkisi de iyi çalışıyor. Belgeleme için – Liorsion

+0

+1. – BenDundee

0

Muhtemelen zaten buldunuz, ancak zaten the buildout website'u teslim ettiniz mi? Yazılım serilerinize bağlantı için

İlgili konular