Pyinstaller Memory Error Hatası

Arkadaşlar herkese merhaba. Pyinstaller ile yazmış olduğum programı exeye çevirdiğimde memory error hatası veriyor. Yaklaşık 900.000 satır kod var yazdığım programda en son 50.000 satırlık modülü eklediğimde bu hatayı veriyor. Eklemediğimde exeye çeviriyor. Bilgisayarım 8 Gb Ram var python 3.8.10 32 bit versiyonu kullanıyorum. Yardımlarınız için şimdiden teşekkür ederim.

Merhaba. Bu 900 bin satırlık kod ne yapıyor tam olarak?

2 Beğeni

32 Bit olmasından kaynaklanıyor olabilir. Forumlarda bir kaç gönderide 32 Bit silip 64 Bit yükleyenler olmuş. Onun haricinde kodunu optimize edersen eğer daha iyi olur. 900 bin satır… :flushed: … uzun :flushed:

Baktığım kaynaklardan biri

2 Beğeni

Ön muhasebe Yazılımı

1 Beğeni

evet haklısınız. Ancak nesne tabanlı programlamayı işin açıkçası bilmiyorum. Yazdığım program da bir ön muhasebe programı olduğu için Stok, Cari, Fatura, İrsaliye, Sipariş Takibi, Çek/Senet, Kasa, Banka, Personel, Finans, Banka ekstresi excel dosya aktarımı gibi bölümler olduğundan uzun oldu. Bir de sadece fatura modülü 250.000 satır çünkü faturada her bir hücre için yaklaşık 250-300 satır kod var. Bir de şunu sormak istiyorum. Yazdığımız programların hangi işletim sistemlerinde çalıştığını nasıl öğrenebiliriz. Yani Programım başka bir bilgisayarda yüklü windows 7 SP1 de çalışıyorken ben bugün kendi bilgisayarıma windows 7 SP1 yüklediğimde error hatası verdi güncelleştirmelerle alakalı da olabilir tam emin değilim.

evet 64 bit sürümde çalıştı teşekkür ederim :slight_smile:

Hata kodu varsa atabilir misin? Document bulabilirim yüksek ihtimalle.

Her hücre için ayrı işlem döndüğünden mi böyle oluyor? Yapılan işlemlerde benzerlikler varsa farklı classlar’dan verileri çekebilirsin. Mesela 2 işlemde’de toplama işlemini ya da aynı fonksiyonu kullanıyorsan farklı bir classtan çekebilirsin.

Derlendiği sırada En sonda MemoryError hatasını veriyor. Ancak 64 Bir Python yüklediğimde sorun çözüldü. Sanırım belli bir dosya büyüklüğünden sonra 64 bite geçmek gerekiyor. Paketi küçültmeyi düşündüm ancak daha yazacağım binlerce satır kod var programı geliştirmek adına. Örneğin Genel Muhasebe Modülünü yazacağım nereden baksanız en az 250-300 bin satır kod. Ancak dosyamı derledikten sonra 18 mb. civarı tutuyor 900.000 satır kodda. Bu kadar düşük mb ile 32 bitte neden çalışmıyor anlam veremedim işin açıkçası. Acaba pyinstaller ile alakalı mı bir durum bu başka bir derleyici var mıdır python da exeye çevirebileceğim

SPYDER IDE var.

Bilgi tutma kapasitesinden olabilir. 32 bit 2^32 veri tutarken 64 bit 2’nin 64 üssü veri tutabiliyor.

Azaltılır diye düşünüyorum. 900 bin satır kodu class’larla optimizesini ayarlayabilsen çok iyi 200bin satıra kadar düşürebileceğini düşünüyorum.

# Optimizing Your Python Code

İyi çalışmalar :innocent:

1 Beğeni

Bu kadar çok kodu nasıl yazdınız? Bir kod parçasını birçok kez kopyalayıp yapıştırdınız mı hiç?

2 Beğeni

Evet Ekrem bey İrsaliye ve Sipariş takibi modülünde Fatura modülünü aynen kopyaladım. Ancak belli yerlerini düzenlemek için 1 hafta uğraştım. Son eklediğim Banka excel dosya transferi için 3 günde 50 bin satır kod yazdım. Tabiki her satır aynı mantıkla çalıştığı için 1 satırın tüm kodlarını diğerlerine kopyaladım ancak değişkenleri farklı olduğu için tek tek değişkenleri yine düzeltmek durumunda kaldım.

Bir metot ile neden bunun önüne geçmediniz?

Projenizde döngülerden, fonksiyonlardan ve liste yahut sözlük gibi veri yapılarından faydalandınız mı? Bunları verimli bir şekilde kullanırsanız hem kod miktarını azaltabilir hem de kodlarınızın sürdürülebilirliğini arttırabilirsiniz.