Şu ana kadar konuştuklarımızın tamamını .py
’den .exe
’ye çevirip çalıştırdığım için hata alıyorum yoksa derleyicide herhangi bir hata bende almıyorum
Ne demek bu? (bilmediğim için soruyorum)
Şu ana kadar konuştuklarımızın tamamını .py
’den .exe
’ye çevirip çalıştırdığım için hata alıyorum yoksa derleyicide herhangi bir hata bende almıyorum
Ne demek bu? (bilmediğim için soruyorum)
knk bende diyorum ki türkçe karakter kullanıyorsun codec hatası alıyorsun diyorum dedim ya zaten türkçe karakterleri kaldır diye
ben yazdım tamam mı yerelde version.txt dosyası var
ilk başta 1.1.1 yazıyor version.txt dosyasının içinde
programı çalıştırdığın githubdan veriyi çekiyor sonra pyinstaller ile exe’ye çeviriyor sonra sonra çevirilen exe dosyasını çalıştırıyor o da çalışınca version.txt dosyasını 1.2.2 yapıyor ve güncelliyor ben dedim zaten türkçe karakterleri kaldır diye
saf demek pure py temiz
Çok güzel yazmışsın burada. Referans alarak öğrenicem fakat baktığımda göz gezdirirken takıldığım şurası run_command(command,hide=True)
run_command olarak çağırdığın fonksiyonu nasıl yaptın, yani bunun çalışması nasıl
aslında zor değil
cmd üzerinde hide process yapmak için
komut_dizesi 2> nul
örnek
pyinstaller --onefile arif.py 2> nul
linux için
ls > /dev/null 2>&1
en sonda ki 2>&1 eğer olurda yazılan komut hata çıkartırsa stderr’i stdin’e aktarıyor böylece hatayı ekrana bastırmiyor
def run_command(*command,hide=None):
commands = command
all_command_wrapper = “”
if not hide:
hide = False
for comm in commands:
all_command_wrapper+=comm
if hide:
os.system(f"{all_command_wrapper} 2> nul")
else:
os.system(f"{all_command_wrapper}")
evet böyle daha çok hoşuma gidiyor proje geliştiriyorum arkaşım yok bu yüzden buraya üye oldum
def ekrana_bastir(*print_args: str) → str:
all_words = print_args
words = “”
for my_words in all_words:
words+=my_words + " "#Karışıklık olmasın diye boşluk koyuyor
print(words)
yardımcı olmak isterim fakat benden epeyce bir bilgiye sahip gibisin ayak bağı olmayayım…
estağfurullah önemli değil
:str yaparken alacağı parametrenin nasıl hangi veri tipte olacağını gösteriyor → str: ise fonksiyonun nasıl tipte veri döndüreceğini gösteriyor bunlar çok önemli eğer olurda inşAllah proje geliştirirsen bunları yazmanda fayda var çünkü kullanıcı bu aracın/fonksiyonun nasıl bi veri tipi vericeğini bilemez o yüzden önemli
def merhaba():
“”“Merhaba ben docstring fonksiyon hakkında bazı bilgiler paylaşıyorum geliştiricim sana daha kolay olsun diye beni buraya bıraktı gibisinden yazarsan iyi olur”""
hangi alanda ve pythonun hangi aşamasındasın e.g while loops try except raise class inheritance…
cihat abi güzel olmuş eline sağlık
Gayet güzel bir şekilde güncelledikten sonra belirtilen .exe dosyasını indiriliyor ellerinize ve emeğinize sağlık hocam. Şunun bilgisini sizden rica edebilir miyim? şu .exe yi nasıl eklediniz github reposuna
Ya kendimi herhangi bir alana tanımlıyamıyorum ama dönüp kendime baktığımda masaüstü veya herhangibi uygulama geliştiricisi olma yolunda ilerliyormuş gibi hissediyorum hangi konudasın diye soracak olursan while loops try except
konularını geçmiş python için ileri seviye fonksiyonlara (konu olarak)çalışıyorum diyebilirim. (yeni geçtim bu konuya. Neden bu kadar geciktin diye soracak olursan şöyle bir cevap verebilirim Bilmiyorum )
@Cihat_Altiparmak Tamam hocam söylemenize gerek kalmadı sürükle bırakmış. saat geç oldu ya birde heycana kapıldım çünkü yapabilen biri var ve örnek verdi diye kusura bakmayınnnn
Merhaba,
bulunduğum dizin yapısı
uygulama.exe
uygulama.py
version.json
$ git clone https://github.com/CihatAltiparmak/update_test_repository.git
$ cp uygulama.py update_test_repository/
$ cp uygulama.exe update_test_repository
$ cp version.json update_test_repository
$ cd update_test_repository
$ git add .
$ git commit -m "ilk commitim"
# eğer ilk defa git kullanıyorsan soru soracak. Eğer soru sorarsa sen de şöyle yap
$ git config --global user.email "your_email"
$ git config --global user.name "your_github_nick"
$ git commit -m "ilk commitim"
$ git push
olay bu kadar
Niye kusura bakacam canım? Ben böyle yaptım kendi linux terminalimde. Elinin altında bulunsun.
Hocam tekrardan merhaba. Sizin örnek üzerinde biraz düşünüp değişiklik yaptım. Scriptleri karşılaştırmaktansa tekrardan versiyonları karşılaştırıp güncel olan .exe yi indirtebildim.(değişiklik şurda .json değilde [aslında sonradan değiştirilebilir] .txt dosyası olarak belirledim ve x
modunda açtım[bir kullanıcıda bu txt
dosyası bulunmayacağı için bu mod sayesinde kullanıcıda oluşturulucak] try-except
bloklarında yapmaya karar verdim.[çünkü x modunda bir dosyayı açtıktan sonra birkez daha o modda açınca zaten böyle bir şeyin var olduğuna benzer anlamda bir hata veriyordu o hatayı yakalayıp varsa güncelle ve sürüm eşitse de güncelleme gibi işlemleri yaptım ]) Teşekkür ediyorum… farklı düşündürttüğünüz için @Cihat_Altiparmak,
Size de teşekkür ederim @Alperen_CAVUS yardım ederken açıklayıcı cümlelerde bulunduğunuz için
şöyle kodları bırakayım ihtiyacı olan kullansın veya örnek teşkil etmesi açısından bulunsun:
from urllib.request import urlopen
import urllib.error
from getpass import getuser
import requests
try:
with open("C:\\Users\\"+getuser()+"\\Desktop\\Coding\\Dogaclama\\4-proje\\versiyon.txt","x") as z:
pass
except FileExistsError:
version_url = "https://raw.githubusercontent.com/Arif-Helmsys/test/main/version.txt"
exe_url = "https://github.com/Arif-Helmsys/test/blob/main/uygulama.exe?raw=true"
r = requests.get(exe_url, allow_redirects=True)
url = urlopen(version_url)
info = url.read().decode()
with open("C:\\Users\\"+getuser()+"\\Desktop\\Coding\\Dogaclama\\4-proje\\versiyon.txt","r") as f:
f.seek(0)
docs = f.read()
if info == docs:
print("güncel")
else:
print("Güncel Değil")
with open("C:\\Users\\"+getuser()+"\\Desktop\\Coding\\Dogaclama\\4-proje\\versiyon.txt","w") as h:
h.write(info)
with open("C:\\Users\\"+getuser()+"\\Desktop\\Coding\\Dogaclama\\4-proje\\uygulama.exe","wb") as g:
g.write(r.content)
print("Güncellendi!!!!")
except urllib.error.URLError:
print("hata internet bağlantınızı kontrol edin")