Düzeltme: 23 Mart 2011, 15:33 Lütfen önce bu yazıyı okuyun!
Sevgili kardeşim Fırat Can Başarır uzunca zamandır bana:
abi, python paketlerini pip’ten kuralım, ports’dan kurmayalım, bu şekilde
çok rahat ederiz
diyordu… Peki, haydi yapalım… Gidip Python.org‘dan Mac OS
için hazırlanmış installer’ı çektik. Kuruluma geçtik, işlemler bitti, süper!
python’u kurduk sisteme… Hemen python’un interactive shell’ine girdik.
Yıllardır bitip tükenmek bilmeyen locale sorunları yüzünden ( tarih ve
Türkçe harfler ) ilk yaptığım iş shell’de ğ harfine basmak oldu…
BUUUUUUUUUUM!
Türkçe harler çalışmıyor? yani ğ ş ü gibi harflere basınca hata sesi çıkıyor
ve saçma sapan karakterler çıkıyor ekrana…
Bunun aynısı macos’la birlikte gelen Nano adlı text editörde de yaşamış, çözümü macports‘da bulmuştum. Nano’yu macports’dan kurunca hem versiyon güncellenmiş hem de Türkçe sorunları ortadan kalkmıştı…
Yani koskoca Python.org‘dan indirdiğimiz uygulamada bile locale sorunu yaşamak hakikatten komikti… Bunun tahmini 2 sebebi vardı:
- macos’la gelen readline kütüphanesinde Türkçe karakter desteği yoktu
- python
utf-8desteği ile compile (derleme) edilmemişti!
Bugüne kadar hep macports’tan python kurulumu yaptığımız için hiç bir sıkıntı
yaşamamıştık… Hemen macports’un pyton27 ile ilgili ports dosyasına
baktık.
depends_lib kısmında, python’u derlemek için gerekecek diğer kütüphaneler listesini gördük. Bunlar:
gettext
zlib
openssl
sqlite3
db46
ncurses
gdbm
bzip2
readline
şeklindeydi. configure.args‘a baktığımda;
--enable-framework
dikkatimi çekti. İşin esas can alıcı kısmı ise:
--enable-unicode
parametresiydi. Hemen home folder’ıma gidip işe koyuldum. Eğer depends_lib’deki paketler sizde yoksa önce bu paketleri kurun.
1 2 3 4 5 | |
Eğer tüm paketler hazırsa python’u derlemeye başlayalım. Hemen http://python.org/download/ adresinden source’u çekelim. Ben bu post’u yazarken kullandığım source buydu
1 2 3 4 5 | |
setup.py dosyasında minik bir ayar yapacağız. Dosyayı, kullandığınız text editörü ile açıp aşağıdaki satırları bulun.
1 2 | |
Hemen altına aşağıdaki satırları ilave edin:
1 2 | |
Bu sayede, macports’la kurduğunuz kütüphanelerin de kullanılmasını sağlıyoruz. Şimdi derleme işine geçebiliriz.
1 2 3 | |
Derleme işlermleri başarıyla biterse (ki bitmeli) hemen kurulum yaptığınız yere gidip bakın:
1 2 | |
Applications
Library
Packages
bin
gibi folder’lar görmeniz gerekiyor. Aslında yazıyı yazarken ”keşke .local/python diye bir folder açıp, herşeyi o şekilde kursaydım” diye de aklımdan geçirdim. İleride belki Ruby‘i ya da başka bir şeyi de kendim kurmam gerekirse karışıklık olmadan yapabilirdim diye düşündüm…
Herşey tamamsa, hemen ENVIRONMENT değişkenlerine ayar yapalım: Bunun için
.bashrc ya da .profile ya da ne kullanıyorsanız o dosyayı açıp aşağıdakileri
ekleyin:
1 2 3 4 | |
Şimdi sırada easy_install var. Bunun için Setuptools‘u kurmamız lazım. Source’u indirdikten ve extract ettikten sonra, klasik python modülü kurma işlemi yapıyoruz:
python setup.py install
İşem bitince hemen kontrol ediyoruz, easy_install’un yeri neresi?
which easy_install
Görmek istediğimiz path, kullanıcı folder’ınızın altında ($HOME)
/.local/Library/Frameworks/Python.framework/Versions/Current/bin/easy_install
gibi olmalıdır.
Eğer herşey yolundaysa hemen pip’i kuralım:
easy_install pip
Kurulum bitince tekrar ENV’a ayar yapmamız gerekiyor:
1 2 | |
Bu sayede, ilgili python paketlerimizi de .local içine alıyoruz. Böylece,
ileriede bir gün makineyi yeniden kurduğunuzda ya da başka bir durumda,
kasmadan tüm paketlerinizi vs kolayca taşıyabileceksiniz. Şimdi pip ile
gereken paketleri kurabiliriz. Benim en çok kullandıklarım:
pip install django ipython south simplejson PIL
pip direk pypi‘dan indirdiği için hem paketleri güncellemeniz hem de
yönetmeniz çok kolay oluyor. Macports’la ya da Ubuntu‘daki aptitude‘la
bazen sıkıntılar çıkabiliyor. Python paketleri için en rahat çözüm pip oluyor.