2009-09-11 20 views
6

Tüm bir Python yüklemesini (kullandığımız birkaç üçüncü taraf modülü de dahil olmak üzere) dağıttığımız bir (Windows) uygulamamız var. Bu yüzden tutarlılığımız var ve bu yüzden herşeyi yüklememize gerek yok. ayrı ayrı. Bu oldukça iyi çalışıyor, ancak uygulama oldukça büyük.Trimming Python Çalışma Zamanı

Açıkçası, çalışma zamanında mevcut olan her şeyi kullanmıyoruz. Sadece gerçekten ihtiyacımız olanı içerecek şekilde çalışma zamanını kısaltmak isterim.

Py2exe'yi denemeyi planlıyorum, ancak Python çalışma zamanının gereksiz kısımlarını kaldırmama yardımcı olacak başka bir çözüm bulmayı denemek istiyorum.

+1

Mükemmel bir soru, python yürütücülerimin boyutunu nasıl azaltacağımı bilmek isterim. WxPython kullanıyorsanız, bazı windows dağıtımları dahil, XP dahil, önyükleme için gerekli gerekli DLL dosyaları (MSVCR71.DLL & MSVCP71.DLL) olmayacak unutmayın. –

+0

Başka bir soru: Py2exe kararlılık açısından "üretim hazır" olarak kabul edilir mi? – Dave

cevap

5

Hem py2exe ve pyinstaller (NOT: SVN sürümü yayınlandı tek diş ;-) onların modulefinder aracılığıyla "kırparak" do in ÇOK uzundur ikincisi kullanılmak üzere tüm modülleri bulmak için standart kütüphane modülü kullanıldı belirli bir Python betiği ile; Tabii ki, gerekli tüm modülleri tanımlamak için kendinizinkini kullanabilirsiniz, eğer uygun bir şekilde ve otomatik olarak sizin adınıza yapmak için pyinstaller veya py2exe'ye güvenmiyorsanız.

6

Gemiler için .py dosyaları kırpılırken öğrendiğim bir hile: Standart kitaplıktaki tüm .pyc dosyalarını sil, ardından uygulamanızı tümüyle çalıştırabilir (yani gereksinim duyduğu tüm Python modüllerinin olduğundan emin olun) yüklenmek). Standart kitaplık dizinlerini incelerseniz, aslında kullanılan tüm modüller için .pyc dosyaları olacaktır. .pyc içermeyen .py dosyaları, ihtiyacınız olmayanlardır.

1

Bu py2exe page on compression, herhangi bir DLL veya .pyd dosyasını (aslında yalnızca DLL dosyaları olan) sıkıştırmak için UPX kullanılmasını önerir. Açıkçası bu, gereksiz modülleri'un düzeltilmesinde yardımcı olmaz, ancak büyük bir endişe varsa dağıtımınızın boyutunu küçültebilir/açabilir.

İlgili konular