SORU
13 EKİM 2009, Salı


Nasıl python programları dağıtabilirsiniz?

Benim uygulama bu gibi görünüyor:

main.py
windows/
    __init__.py
    mainwindow.py
    ...
model/
    __init__.py
    orders.py
    ...
resources/
    image1.png
    logo.jpg
    ...

Program main.py ile başladı. Orada bir oluşturmak için iyi bir yoldur 'son' bunun dışında bir uygulama? Bir şey py2exe/py2app, ama bir tek bir yürütülebilir bulunduğu uygulamasına modülleri / python yorumlayıcısı olmadan kopyalama gibi düşünüyorum.

Distutils bir göz attım, ama bu non-linux platformlarda pek olağan bir şey değildir Python dizinine bir program yükler gibi görünüyor.

Ben sadece kopyala anda tüm bu Kaynak, Hedef makine üzerine klasör ve windows main.pyw için bir takma ad oluşturun. Bazı rahatsızlıklar:

  • Simge varsayılan python simgedir.
  • Diğer el ile oluşturmak için var.
  • Benim kaynak dizin içinde kaynak denetimi klasörü gibi ek dosyalar var.
  • main.pyw main.py yeniden adlandırmak için el var.
  • Güzel, eğer sadece `olurdu.pyo* dosyaları hedef makinede. Bunun için gerçek bir sebep yok hayır, sadece gereksiz dosyaları sevmiyorum.

Ne kadar güzel bir otomatik bir dağıtım oluşturur?

  • windows? (Şu anda destek için tek platform.)
  • mac için?
  • linux için?

CEVAP
13 EKİM 2009, Salı


Ben çok tüm büyük platformlar oldukça sorunsuz destekler Pyinstaller, tavsiye ederim. Gibi py2exe ve py2app, ürettiği bir standart yürütülebilir Windows ve uygulaması bundle OS X, ama yararı da yaparak harika bir iş otomatik çözme ortak bağımlılıkları ve onlara dahil olmadan ekstra yapılandırma düzenlemeler.

Ayrıca eğer Windows için Python 2.6 dağıtımı, this patch gövde Pyinstaller başvuru yapmanız gerektiğini unutmayın.

Bir yükleyici ihtiyacın olmadığını belirtmekle birlikte, Inno Setup kullanımı kolay ve Windows için seçimi kurulum için hızlı bir platform.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CaliforniaMetin

    CaliforniaMe

    3 ŞUBAT 2013
  • friendz.net

    friendz.net

    29 EKİM 2010
  • katherine gomez

    katherine go

    1 Aralık 2011