widget = tk.Text(pencere,height=10,width=20,fg="YELLOW",bg="RED")
widget.place(x=220,y=165)
widget.config(state="disabled")
Front-end’i benim geliştirmemi ister misiniz ?
if elif ve else ler çalışmıyor yani yazdırmıyor bilginize
bende diyom niye bişey olmuyo .d
kodu daha okumamaştım
bu arada hata alıyorum :
Exception in Tkinter callback
Traceback (most recent call last):
File “C:\Program Files (x86)\Python38-32\lib\tkinter_init_.py”, line 1883, in call
return self.func(*args)
File “C:/Users/ONAY/Desktop/Otomatik Paket İndirici.py”, line 20, in indir
widget[“text”] = “Lütfen Default olan kısma bir sayı değeri girin(3 veya 2)”
File “C:\Program Files (x86)\Python38-32\lib\tkinter_init_.py”, line 1648, in setitem
self.configure({key: value})
File “C:\Program Files (x86)\Python38-32\lib\tkinter_init_.py”, line 1637, in configure
return self.configure(‘configure’, cnf, kw)
File "C:\Program Files (x86)\Python38-32\lib\tkinter_init.py", line 1627, in _configure
self.tk.call(_flatten((self._w, cmd)) + self._options(cnf))
_tkinter.TclError: unknown option “-text”
Hata var bendede o Text in içine yazabilseydim olmayacaktı
isterseniz 1 dkk bekleyin düzenleyim
Burası içine yazılacak texti oluşturuyor
Alın düzenlenmiş hali
import tkinter as tk
import os
import sys
from subprocess import Popen, PIPE
def upgrade():
os.system("pip install --upgrade pip")
def indir():
rand = ["2","3"]
data1 = değer1.get()
data2 = değer2.get()
if data2 == "":
lamel3["text"] = "Sürüm boş kalamaz"
elif data1 == "":
lamel3["text"] = "Kütüphane adı boş kalamaz"
elif data2 not in rand:
lamel3["text"] = "Lütfen Default olan kısma bir sayı değeri girin(3 veya 2)"
else:
try:
__import__(data1)
except ModuleNotFoundError:
os.system("pip{} install {}".format(data2,data1))
else:
lamel3["text"] ="Bu modül zaten yüklü"
pencere = tk.Tk()
pencere.geometry("365x310")
pencere.title("Paket Yükleyici v0.2")
pencere.resizable(False,False)
değer1 = tk.Entry(font="Verdana 13",fg="AQUA")
değer1.place(x=20,y=20)
değer2 = tk.Entry(font="Verdana 13",fg="GREY")
değer2.place(x=20,y=60)
değer2.insert(0,"3")
buton1 = tk.Button(text="İndir",fg="GREEN",font="Verdana 15",command=indir)
buton1.place(x=20,y=100)
buton2 = tk.Button(text="İptal Et",fg="RED",font="Verdana 15",command=sys.exit)
buton2.place(x=20,y=150)
buton3 = tk.Button(text="Pip Güncelle",fg="BLUE",font="Verdana 14",command=upgrade)
buton3.place(x=20,y=200)
lamel1 = tk.Label(text="Kütüphane Adı",fg="RED")
lamel1.place(x=250,y=25)
lamel2 = tk.Label(text="Python sürümü",fg="GREEN")
lamel2.place(x=250,y=65)
lamel3 = tk.Label(text="",fg="RED")
lamel3.place(x=20,y=250)
#widget = tk.Text(pencere,height=10,width=20,fg="YELLOW",bg="RED")
#widget.place(x=220,y=165)
#widget.config(state="disabled")
pencere.mainloop()
Birde pip3 tüm modüllerin listesini al ve list widgetine koy sonra adam listeden seçtiği modülü indirsin ve hata alirsada text widgetine gelsin
O aklıma gelmişti ama şimdi lite içinde gezininceye kadar zaman geçecek
hem onu hallettim sayılır
Hayır arama butonu koyacaksin ama sen bilirsin sadece tavsiye
try ve except ile çözdüm gerek kalmadı
Haa anladim eğer girilen modül gerçek degilse
Ama bence liste işi daha hoş olurdu pycharmdaki gibi
rastgele modül hatası sorununu
try:
__import__(data1)
except ModuleNotFoundError:
os.system("pip{} install {}".format(data2,data1))
else:
lamel3["text"] ="Bu modül zaten yüklü"
bu örnekteki gibi
Anladım aciklamana gerek yok
Daha iyisi: Bir entry’ye girilecek kütüphane adı için requests
ile pypi’de arama yapmak ve sonuçları göstermek.
Söylediğiniz mi yoksa iç içe iki tane try ve except koymakmı mantıklı
size kalmış biz en azından ben kullanmicam uygulamayı sonuçta kendini geliştirmek isiyorsan kolaya kacmamalisin