arşiv

yazılar buna göre etiketlendi; ‘Windows’

Farklı İşletim Sistemlerinde Komut Satırına Ulaşmak

Pazartesi, 14 Kas 2011

Programlama öğrenmeye azmetmiş pek çok kişi, kullandığı işletim sisteminde komut satırına nasıl ulaşacağını genellikle bilir. Ama yine de programlamaya yeni başlayanlar (özellikle Windows kullanıcıları), kullandıkları işletim sisteminde komut satırına ulaşmak konusunda bazen sıkıntı yaşayabiliyor. Bu sıkıntıyı hafifletmek için http://goo.gl/ZyjAU adresinde bir makale oluşturduk. Bu makalede sadece Windows işletim sistemine değil, başka işletim sistemlerine de yer vermek istiyoruz.

Ben yeni Python3 belgelerinde, Ubuntu ve Windows 7′de komut satırına nasıl ulaşılacağını anlattım. Bu iki işletim sistemi dışında, kullanıcıların farklı işletim sistemi ve platformlarda komut satırına nasıl ulaşacağını anlatan bir belgenin elimizde olmasının faydalı olacağına siz de inanıyorsanız, http://goo.gl/ZyjAU adresindeki makaleyi başka işletim sistemlerine ait bilgileri girerek zenginleştirebilirsiniz.

GNU/Linux dağıtımlarında komut satırına ulaşma işlemi birbirine benzese de, özellikle dağıtımların masaüstü arayüzü üzerinde yaptıkları özelleştirmeler nedeniyle grafik olarak komut satırına ulaşmada farklılıklar olabiliyor. O yüzden, ben bütün dağıtımlar için bu bilgilerin tek tek girilmesinden yanayım.

Not: Sayfada halihazırda bulunan Windows XP girdisini şablon olarak kullanabilirsiniz.

İlgilenen herkese teşekkürler.

istihza.com, Python , , ,

Python 3.2.1

Perşembe, 23 Haz 2011

Python’ın 3.x serisine ait en son kararlı sürüm 3.2.0. Ancak daha önceki bir yazıda da anlatmaya çalıştığım gibi, bu sürüm önemli hatalar barındırıyor. Orada da söylediğim gibi, bu hatalardan GNU/Linux dağıtımları etkilenmedi. Ancak özellikle Windows kullanıcıları açısından Python 3.2.0 hiç iyi bir tercih değil.

Python’ın kararlı 3.2.1 sürümü yakında yayımlanacak. O zamana kadar Windows kullanıcıları en azından aday sürümleri kurarak, büyük hatalar barındıran 3.2.0 sürümünden kurtulmayı tercih edebilir.

Not: 23 Haziran 2011 tarihi itibariyle Python’ın FTP sunucularından 3.2.1rc1 sürümü indirilebiliyor.

Python , , , ,

Windows Python 3.2′de bir Hata

Pazartesi, 14 Mar 2011

Python geliştiricileri Python 3 serisini geliştirmeye devam ediyor. Bu doğrultuda bir süre önce Python’ın 3.2 sürümü de yayımlandı. Ancak bu sürümde, Windows kullanıcılarını etkileyen ciddi bir hata var. Windows’ta input() fonksiyonu karakter dizilerinin sonuna bir adet “\r” karakteri yerleştiriyor. Bunu şu şekilde doğrulayabilirsiniz:

isim = input("Herhangi bir şey: ")
 
print(repr(isim))

Bu kodları çalıştırdığınızda, örneğin input() fonksiyonuna cevap olarak “python” yazmışsanız çıktı şöyle görünecektir:

‘python\r’

Bildiğiniz gibi, Python’da “\r” karakteri bir kaçış dizisidir. Bu kaçış dizisinin bulunduğu noktada Python karakter dizisinin başına döner ve bu kaçış dizisinden sonra gelen bütün karakterler karakter dizisinin başında bulunan karakterlerin üzerine yazar. Yani:

>>> print("Merhaba\r Dünya!")
 
 Dünya!

İşte Python 3.2′deki input() fonksiyonu da karakter dizilerinin en sonuna bu işareti yerleştirdiği için tuhaf çıktılar verilecektir:

isim = input("Adınız: ")
 
print("Merhaba", isim, end="!\n")

Bu kodları çalıştırdığınızda şöyle bir çıktı elde edersiniz:

!erhaba isim

Gördüğünüz gibi, karakter dizisinin en sonuna yerleşmesi gereken “!” işareti en başa dönüp karakter dizisinin ilk harfinin üzerine yazdı…

NOT: IDLE bu hatadan etkilenmiyor.

Bu hata ile ilgili kayda şuradan ulaşabilirsiniz:
http://bugs.python.org/issue11272

Bu hatayla ilgili bir örnek (ve çözümü) için şu adresi inceleyebilirsiniz:
http://www.python-forum.org/pythonforum/viewtopic.php?f=1&t=24263

Python , ,

Windows Vista’da Python’ı YOL’a Eklemek

Perşembe, 27 Oca 2011

Windows kullanıcılarının Python’ı nasıl YOL’a ekleyeceklerini http://www.istihza.com/py2/windows-path.html adresinde anlatmıştım. Aldığım geri bildirimlere göre, burada gösterilen yöntem WinXP, WinVista ve Win7′de çalışıyordu. Ta ki düne kadar…

Dün bir Windows Vista kullanıcısından bir e.posta aldım. Bu kullanıcı, indirdiği Python’ı bir türlü YOL’a ekleyememiş. Sorunu çözmek için epey uğraştıktan sonra şöyle bir çözüm buldum:

Python’ı YOL’a eklerken dizin adını (mesela) C:\Python27 değil, “C:\Python27″ şeklinde tırnak içinde yazıyoruz…

http://www.istihza.com/py2/windows-path.html adresinde anlattığım yöntem hala geçerliliğini koruyor. Ancak orada anlatılan her şeyi düzgün bir şekilde yaptığınız halde “python” komutuyla etkileşimli kabuğa ulaşamıyorsanız, Python dizinini bir de tırnak içine almayı deneyin…

Python’ı YOL’a eklerken %99 ihtimalle bu tırnakları koymanıza gerek kalmayacaktır. Ama dediğim gibi, en son çare olarak tırnaklar aklınızda bulunsun. Windows Vista’nın neden böyle davrandığı konusunda ise hiçbir fikrim yok…

Python , , , ,

Mecbur Değilsiniz

Pazartesi, 09 Ağu 2010

Bilgisayarlarında Microsoft Windows işletim sistemi kullanmayanların en büyük dertlerinden biri, markalı bilgisayar satın alırken yanında bir de Windows lisansı almak zorunda kalmalarıdır. İnsanın, kullanmayacağı bir işletim sistemine para vermek zorunda bırakılması gerçekten de son derece tatsız bir durum.

Ancak geçen yıl değerli ağabeyim Avukat Nihad Karslı’nın açtığı dava sonucu bu durum artık değişti. Bundan böyle, satın aldığınız markalı bilgisayarlarla birlikte Windows lisansı almak zorunda değilsiniz. Konuyla ilgili tartışmaya http://forum.pardus-linux.org/viewtopic.php?f=25&t=21098 adresinden ulaşabilirsiniz.

Pardus-Linux.Org ekibi, Bahri Meriç Canlı‘nın önerisiyle, bu önemli konunun forum arşivinde kaybolup gitmemesi için, sadece bu konuyla ilgili bir de web sitesi oluşturdu. Sitenin adresi http://www.mecburdegilsiniz.com/

Eğer siz de bu girişime destek olmak isterseniz, http://forum.pardus-linux.org/viewtopic.php?f=196&t=22093 adresinde tartışmaya katılabilirsiniz.

Gösterdikleri çaba ve emekten ötürü Avukat Nihad Karslı’ya, Bahri Meriç Canlı’ya ve Pardus-Linux.Org ekibine teşekkür ederim.

Uncategorized , , , , ,

Python: Windows’ta Türkçe Karakter Sorunu

Salı, 13 Nis 2010

Diyelim ki elimizde şöyle bir şey var:

#-*- coding: cp1254 -*-
 
def kayit_ekle(isim, soyisim, sehir, meslek, tel, adres):
    kayit = {}
 
    kayit["%s %s" %(isim, soyisim)] = [sehir, meslek, tel, adres]
 
    print "\nBağlantı bilgileri kayıtlara eklendi!\n"
 
    for k, v in kayit.items():
        print k
        print "-"*len(k)
        for i in v:
            print i
 
kayit_ekle(isim = "Abdurrahman",
           soyisim = "Çelebi",
           meslek = "Öğretmen",
           tel = "0212 123 45 67",
           sehir = "İstanbul",
           adres = "Çeliktepe")

Bu kodları (utf-8 ile) GNU/Linux’ta çalıştırırken herhangi bir Türkçe karakter sorunuyla karşılaşmıyoruz. Ancak aynı kodları Windows’ta çalıştırmak istediğimizde şöyle bir çıktı alıyoruz:

Ba­lant² bilgileri kay²tlara eklendi!
 
Abdurrahman Ãelebi
------------------
¦stanbul
Í­retmen
0212 123 45 67
Ãeliktepe

Gördüğünüz gibi bütün Türkçe karakterler birbirine girmiş durumda. Bunun temel sebebi Windows’ta komut satırının öntanımlı yazı tipinin unicode karakterleri gösterememesi. Yani aslında komut satırının kendisi Türkçe karakterleri düzgün bir şekilde algılayabiliyor. Ancak kullanılan öntanımlı yazı tipi bu karakterlerin düzgün bir şekilde gösterilmesine müsaade etmiyor… Ayrıca ortaya çıkan bu durumda, MS-DOS’un öntanımlı kod sayfasının da etkisi var.

Yukarıdaki sorundan kurtulmak için şu işlemleri yapmamız gerekiyor:

1. Önce kullanılan kod sayfasını değiştiriyoruz:

chcp 1254

2. Ardından pencere başlığına sağ tıklayıp “özellikler”e giriyoruz.

3. Yazı Tipi sekmesi içinde yazı tipini “Lucida console” olarak değiştiriyoruz.

4. Tamam’a basıyoruz.

5. Karşımıza çıkan pencerede, “özellikleri sadece geçerli pencereye uygula” seçeneğini işaretliyoruz.

Şimdi en başta verdiğimiz betiği çalıştırdığımızda şu çıktıyı alıyoruz:

Bağlantı bilgileri kayıtlara eklendi!
 
Abdurrahman Çelebi
------------------
İstanbul
Öğretmen
0212 123 45 67
Çeliktepe

Python, Teknik , , ,

Harman-0.8 + Windows Kurulum Betiği

Salı, 05 Oca 2010

Bildiğiniz gibi, Harman ilk yayımlandığında hem kaynak dosyalarını, hem Ubuntu .deb paketini, hem de py2exe ile hazırlanan Windows .exe dosyasını istihza.com sunucularına alıyorum. HARMAN’ın .exe dosyası, üzerine çift tıklandığında doğrudan HARMAN’ın çalışmasını sağlar. Bu dosya Windows sistemi üzerinde herhangi bir kurulum işlemi gerçekleştirmez. Yani istihza.com’dan indirdiğiniz .exe dosyasını barındıran HARMAN klasörünü sildiğinizde HARMAN da gitmiş olur…

HARMAN’ın bir önceki sürümü olan 0.7 ile birlikte, HARMAN’ı Windows işletim sistemine kurmamızı sağlayacak bir imkana da kavuştuk. Bize bu imkanı, InnoSetup programı yardımıyla HARMAN’a bir kurulum betiği hazırlayan sevgili Sedat Ayma sağlamıştı. Bu betik yardımıyla Windows kullanıcıları programı bilgisayarlarına kurabiliyor, ayrıca daha sonra isterlerse Windows’un “program ekle-kaldır” özelliğini kullanarak sistemlerinden kaldırabiliyorlar. Bu kurulum betiği sayesinde HARMAN Windows’ta “Başlat > Programlar > Harman” yoluna da yerleşiyor. Böylece programa ulaşmak son derece kolay bir hal alıyor. Kullanıcılar isterlerse kurulum sırasında HARMAN için bir masaüstü kısayolu da oluşturabiliyor…

HARMAN programı için 0.7 sürümünde bu kurulum betiğini hazırlayıp bize gönderen Sedat Ayma aynı emeği HARMAN’ın 0.8 sürümü için de vermiş. Sedat Ayma’nın hazırladığı bu kurulum betiğini http://www.istihza.com/harman/harman-0.8/exe/Harman_setup.exe adresinden indirebilirsiniz. Bu kurulum betiğine çift tıkladığınızda HARMAN rutin bir şekilde C:\Program Files\Harman yolu içine kurulacaktır. HARMAN’ı sisteminizden kaldırmak için Denetim Masası’ndaki “Program Ekle/Kaldır” yolunu izleyebilirsiniz.

Sedat Ayma’ya ve HARMAN’ın farklı işletim sistemlerine kolay kurulabilmesi için emek harcayan bütün arkadaşlarıma teşekkür ederim.

**************************************************************************

Güncelleme: HARMAN’ın en son sürümüne ulaşmak için http://istihza.com/harman/icindekiler_harman.html adresini ziyaret edebilirsiniz.

******************************************************************

Yazılım , , , ,

PyGtk ve Windows

Pazar, 03 Oca 2010

Windows’ta bir PyGtk Hatası başlıklı yazıda PyGtk’nın Windows’ta hata verdiğinden bahsetmiş, bu sorunun nasıl çözülebileceğini anlatmıştık. O yazıda PyGtk’nın Windows’ta çalışabilmesi için indirilip kurulması gereken programların bağlantılarını da vermiştik.  O bağlantıları bugün kontrol ettiğimde bazılarının kaldırılmış olduğunu gördüm. Dolayısıyla Windows’lu bilgisayarlara PyGtk’yi şimdi kuracak olanlar için o yazıdaki bilgileri ve bağlantıları güncellemek gerekiyor… Ancak hatırlatayım, şimdi vereceğim bilgileri, o yazıdaki bilgilerle birlikte değerlendirmelisiniz…

Windows’ta PyGtk’yi kullanabilmek için sisteminizde Python’un 2.6.4 sürümünün kurulu olması gerekiyor. Bu sürümü http://www.python.org/ftp/python/2.6.4/python-2.6.4.msi adresinden indirip kurabilirsiniz.

Python’u kurduktan sonra Python’u Windows PATH değişkenine eklemeyi unutmayın.  Python’u PATH değişkenine nasıl ekleyeceğinizi öğrenmek için http://www.istihza.com/py2/windows-path.html adresindeki makalemizden yararlanabilirsiniz.

Daha sonra http://ftp.acc.umu.se/pub/gnome/binaries/win32/gtk+/2.18/gtk+-bundle_2.18.5-20091215_win32.zip adresinden “GTK Bundle” paketini indiriyoruz. Bu paketi, eski yazıda anlattığımız şekilde C:/GTK dizini içine açıp, C:/GTK/bin dizinini PATH değişkenine ekliyoruz.

Pycairo, Pygobject ve PyGtk paketlerini ise sırayla şu adreslerden indiriyoruz:

Pycairo: http://ftp.acc.umu.se/pub/GNOME/binaries/win32/pycairo/1.4/pycairo-1.4.12-2.win32-py2.6.exe

Pygobject: http://ftp.acc.umu.se/pub/GNOME/binaries/win32/pygobject/2.14/pygobject-2.14.2-2.win32-py2.6.exe

PyGtk: http://ftp.acc.umu.se/pub/GNOME/binaries/win32/pygtk/2.12/pygtk-2.12.1-3.win32-py2.6.exe

Bunların dışında, dilerseniz http://downloads.sourceforge.net/gtk-win/gtk2_prefs-0.4.1.bin-gtk2.10-win32.zip?download adresinden “GTK Preference Tool” adlı uygulamayı da indirebilirsiniz. Bu uygulama, GTK programlarının temalarını değiştirmenizi sağlar.

İyi çalışmalar,

istihza

Python ,

Tkinter’de Saydam Pencereler Oluşturmak

Pazar, 18 Eki 2009

Tkinter’de “wm_attributes()” adlı bir metot var. Bu metodun help() dosyasında şu bilgi veriliyor:

>>> from Tkinter import *
>>> help(Tk().wm_attributes)
 
On Unix, there are currently no special attribute values

Bu metot, aslında Tkinter’de pencereleri şeffaf yapmamızı sağlayacak bir parametreye sahip. Windows ve MacOs sistemlerinde şöyle bir komut yazarak pencereleri şeffaf hale getirebiliyoruz:

>>> pencere.wm_attributes("-alpha", 0.5)

“-alpha” değeri 0 ile 1 arasında değerler alabiliyor ve bu değer pencerenin şeffaflık düzeyini gösteriyor.

Yukarıdaki komut Windows ve MacOs’ta doğrudan çalışabiliyor. Ancak GNU/Linux sistemlerinde “-alpha” değerinin pencere şeffaflığı üzerinde herhangi bir etkisi bulunmuyor.

Tkinter belgeleri de bu bilgiyi doğruluyor… Hatta http://www.tcl.tk/man/tcl8.4/TkCmd/wm.htm#M6 adresinde “wm attributes” metodunun “-alpha” parametresi için şu bilgi verilmiş:

Specifies the alpha transparency level of the toplevel. It accepts a value from 0.0 (fully transparent) to 1.0 (opaque). Values outside that range will be constrained. This is supported on Windows 2000/XP+. Where not supported, the -alpha value remains at 1.0.

Burada da bu metodun sadece Windows 2000/XP sistemlerinde desteklendiği yazılmış. Ancak bugün bilgisayarı kurcalarken tesadüfen, aslında Tkinter ile şeffaf pencere oluşturmanın GNU/Linux’ta da mümkün olabileceğini farkettim. Eğer sistemde Compiz Fusion çalışıyorsa veya Ubuntu’da “Sistem > Tercihler > Görünüm > Görsel Efektler” içinde “Extra” seçeneği seçili ise şöyle bir kod Tkinter penceresini şeffaflaştırıyor:

#-*-coding:utf-8-*-
from Tkinter import *
 
pencere= Tk()
pencere.geometry("200×200")
 
def saydamlastir():
    pencere.wm_attributes("-alpha",0.5)
 
btn = Button(text="saydamlaştır", command=saydamlastir)
btn.pack(side=BOTTOM)
 
pencere.mainloop()

Tabii yine de her makinede Compiz Fusion’un çalışmayacağını hesaba katarsak, bu yöntemin çok sağlıklı olduğunu söylemek zor…

GNU/Linux , , , , , , ,

Windows’ta bir PyGtk Hatası

Salı, 06 Eki 2009

********************************************************************

ÖNEMLİ NOT: Bu yazıdaki bazı bağlantılar eskimiştir. Bağlantıların yeni adresleri için http://www.istihza.com/blog/pygtk-ve-windows.html/ sayfasındaki yazımızı inceleyiniz…

********************************************************************

Bir-iki gün önce bir arkadaş bana e.posta göndererek, Windows’ta PyGtk’yi kullanamadığını, herhangi bir PyGtk programını çalıştırmaya çalıştığında şöyle bir hata aldığını söyledi:

from _gobject import type_from_name
ImportError: DLL load failed: Belirtilen modül bulunamadı.

Bunun üzerine deneme yapmak için ben de daha önce PyGtk kurduğum ve düzgün bir şekilde çalışan Windows’lu bir bilgisayardaki PyGtk ve PyGtk’ye ilişkin bütün paketleri önce kaldırıp daha sonra PyGtk ve ilgili paketleri yeniden kurdum bu bilgisayara…

Dediğim gibi, eski kurulumda bir sorun yoktu, ancak bu kez PyGtk’yi kurup herhangi bir PyGtk programını çalıştırmaya çalıştığımda ben de hemen hemen aynı hatayı aldım.

Benim aldığım hata da şöyleydi:

ImportError: DLL load failed: The specified module could not be found.

Sanırım son GTK paketlerinden birinde bir uyumsuzluk var… Eğer siz de Windows üzerine PyGtk kurarken yukarıdakine benzer bir hata alıyorsanız, sorunu şu şekilde çözebilirsiniz:

1. Önce PyGtk ile ilgili kurduğunuz bütün programları kaldırın.

2. Daha sonra sırasıyla şu programları indirin:

** http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.16/gtk+-bundle_2.16.6-20090911_win32.zip

** http://ftp.gnome.org/pub/GNOME/binaries/win32/pycairo/1.4/pycairo-1.4.12-2.win32-py2.6.exe

** http://ftp.gnome.org/pub/GNOME/binaries/win32/pygobject/2.14/pygobject-2.14.2-2.win32-py2.6.exe

** http://ftp.gnome.org/pub/GNOME/binaries/win32/pygtk/2.12/pygtk-2.12.1-3.win32-py2.6.exe

3. İlk paket hariç ötekilerin kurulum betikleri var. Bunları çift tıklayarak kurabilirsiniz. Yalnız bu paketleri kurarken listeden Python 2.6 sürümünü seçmeyi unutmayın…

4. İlk “bundle” paketini C dizini içinde GTK adlı bir klasörün içine açın. Daha sonra C:\GTK\bin klasörünü “PATH” değişkeninize ekleyin.

Eğer bu dizini “PATH” değişkenine nasıl ekleyeceğinizi bilmiyorsanız şu makalemizden yararlanabilirsiniz: http://www.istihza.com/py2/windows-path.html

Teknik , , ,