O zaman Windows’ta çalışmamalı. Ben Windows kullanırken 2 gün C compiler aradım. Cygwin dışında bir şey bulamadım. Sonunda dayanamayıp Linux’e geçtim.
Cygwin olur, mingw olur… Yanılmıyorsam mingw git ile birlikte geliyordu. Git de kurabilirsiniz.
For the beginning I would say it is enough to Install MinGW. If you have installed it you find in the bin folder a gcc.exe which is the Compiler. Either set the PATH Variable to the bin folder or go directly to this folder. In terminal use:
gcc your_C_file.c
The output will be an exe.
Buraya göre Windows’ta derlenen C dosyaları Windows oluyormuş. Cython ile dönüştürüp Windows’ta derlersek EXE olacağına göre, Pyinstaller ne işe yarıyor?
Pyinstaller da exe’ye çeviriyor.
Yani benim dediğim gibi yapabiliyorsak neden Pyinstaller kullanıyoruz? Bir eksiği olmalı ki Pyinstaller kullanıyoruz. Bu eksikten bahsediyorum.
Pyinstaller, kolaylık sağlayan bir kütüphane. Derlemek istediğiniz dosyanın bazı özelliklerini pyinstaller sayesinde hızlıca belirleyebiliyorsunuz. Windows’ta bir python dosyasını gcc’yi kullanarak Linux’te derlediğimiz gibi derleyemiyoruz. (Bknz: Python programınızı platformlararası olacak şekilde derlemek) Neden pyinstaller sıkça tercih ediliyor, çünkü python kullanıcısına aşina olduğu bir spec dosyası sunarak py dosyalarının kısa zamanda kolayca derlenmesini sağlıyor.
yalnız bu kod bağlandığımız wifiyi gösteriyor
nasıl yani?
derlenmiş derken?
anlayamadım pythonu gcc ile derleyebiliyor muyuz?
Cython ile c dosyası yapıp gcc ile derledim.
bu yöntem mi yoksa pyinstaller mı daha sağlıklı acaba
python dosyalarını mı derliyor?
nasıl?
spec dosyası ne işe yarıyor hocam?
Python dosyalarını derlemiyor, derlenme işlemindeki talimatların yazıldığı bir script o.
Aşağıdaki linke bir göz atın isterseniz.
artısı neydi? veya neden kullandınız?
Pyinstaller ile uğraşmadım. Hepsi bu.
anlayamadım bu yöntemi birisi mi önerdi yoksa kendiniz denemek mi istediniz?
pyinstaller ile alakasını anlayamadım yaptığı işte tek değil pyinstaller
Amacım python dosyalarını ./filename şeklinde çağırabilmekti*. Bunun için yaptım. Amacım derleme değildi.
*: Bunun için boşuna uğraştım. Başına hashbang ekleyip filename diye kaydetsem de olurdu.
shebang*
yani?
hata yapılmış olabilir. (veya hashbang ile shebang arasında farklar vardır)
ben okuduklarımdan söylüyorum
Ben 2 farklı yere baktım, birinde hashbang birince shebang yazıyordu.