Python’da Paket Kurulumu - Kullanımı¶
Not
Bu yazı Sayın Samet Aras tarafından hazırlanmıştır.
Bu bölümde, Python’da paket kurulumu ve kullanımı anlatılacaktır.
Python için yazılmış paketler The Python Package Index sayfasında bulunur.
Başlangıç
Python’un resmi sitesindeki The Python Package Index adlı sayfada şuan 7788 adet paket bulunmaktadır. Ben bir tane paket seçtim, bu paket üzerinden “Python’da Paket kurulumu - kullanımını” anlatacağım.
Kurulum
sudo python setup.py --help
komutu ile paket hakkında bilgi edinebilirsiniz. Örneğin paket yazarını öğrenmek istersek:
sudo python setup.py --author
komutunu kullanabiliriz. Anlatımda kullanacağım paket Richard Jones tarafından yazılmış. Paket yazarının E-Posta adresini öğrenmek istersek şu komutu veriyoruz:
sudo python setup.py --author-email
Siz --help komutu ile diğer seçeneklere de bakabilirsiniz.
Anlatım için simple, elegant HTML/XHTML generation paketini yeğledim.
Paket içeriği
setup.py #kurulum dosyasıdır.
html.py #paket dosyasıdır.
PGK-INFO #bilgi dosyasıdır.
Şimdi kuruluma geçelim:
samet@samet:~$ cd /home/samet/Masaüstü/html-1.6
samet@samet:~/Masaüstü/html-1.6$ sudo python setup.py install
[sudo] password for samet:
running install
running build
running build_py
creating build
creating build/lib.linux-i686-2.6
copying html.py -> build/lib.linux-i686-2.6
running install_lib
copying build/lib.linux-i686-2.6/html.py -> /usr/local/lib/python2.6/dist-package
byte-compiling /usr/local/lib/python.2.6/dist-packages/html.py to html.pyc
running install_egg_info
Writing /usr/local/lib/python2.6/dist-packages/html-1.6.egg-info
samet@samet:~/Masaüstü/html-1.6$
Burada sudo komutu vermeliyiz. Zira yetki engelleri ile karşılaşabiliriz.
Kullanım
Söz konusu paketi kurduk. Şimdi kullanıma değinelim:
>>> from html import HTML
>>> h = HTML()
>>> p = h.p('Merhaba dünya !\n')
>>> p.text('more → text', escape=False)
>>> h.p
<HTML p 0x9432b0c>
>>> print h
<p>Merhaba dünya !
more → text</p>
<p>
from html import HTML satırı ile, yüklediğimiz paketi dâhil ettik.
Örnek
Artık Python’da paket kurulumu ve kullanımını biliyoruz. Şimdi yüklediğimiz paket ile bir Python programı yazalım. Sözgelimi, bir HTML dosyası oluşturalım, içerisine HTML paketimiz yardımıyla bir liste ekleyelim.
Bir Python dosyası oluşturalım:
#!/usr/bin/env python
#-*- coding:utf-8 -*-
HTML modülünü dâhil edelim:
from html import HTML
Şimdi HTML modülünü h isimli bir nesneye atayalım:
h = HTML()
Şimdi HTML listemizi oluşturalım:
l = h.ol
l.li('C')
l.li('Python')
l.li("JavaScript")
print h
Yukarıda liste oluşturduk, ve içerisine 3 adet eleman ekledik (C, Python ve JavaScript). Kodları topluca görelim:
#!/usr/bin/env python
#-*- coding:utf-8 -*-
from html import HTML
h = HTML()
l = h.ul
l.li('C')
l.li('Python')
l.li("JavaScript")
print h
Bildiğiniz gibi, <ul> HTML’de liste oluşturmaya, <li> ise eleman eklemeye yarıyor. Burada ilk elemanın C olmasının nedeni, Python’un da HTML gibi kodları okumaya yukarıdan başlamasıdır.
Şimdi bu programı biraz daha geliştirelim. Oluşturduğumuz listeyi ekrana yazdırmak yerine, bir HTML dosyası oluşturup içerisine ekleyelim:
#!/usr/bin/env python
#-*- coding:utf-8 -*-
from html import HTML
h = HTML()
l = h.ul
l.li('C')
l.li('Python')
l.li("JavaScript")
dosya = open("liste.html", "w") # liste.html dosyamızı oluşturuyoruz
dosya.write("<html>\n") # html başlangıç
dosya.write("<head>\n") # head kısmı
dosya.write("</head>\n") # head bitiş
dosya.write("<body>\n") # body kısmı
dosya.write(str(h)+"\n") # liste kısmı
dosya.write("</body>\n") # body bitiş
dosya.write("</html>") # html bitiş
dosya.close() # dosya kapatıldı
Yukarıda HTML modülü sayesinde bir HTML listesi oluşturduk ve “liste.html” isimli bir HTML dosyası açtık. Temel HTML komutlarını bizzat kendimiz ekledik. Akabinde:
dosya.write(str(h)+"\n")
Kodu ile HTML dosyamıza listemizi dâhil ettik. Artık Python’a modül dâhil etmeyi, kullanmayı ve program geliştirmeyi öğrendiniz. Bilgilerinizi pekiştirmek ve ilerletmek açısından, The Python Package Index bağlantısını sık sık incelemenizde fayda vardır. Sözgelimi, bu modülü kullanarak bir HTML Code Generator uygulaması yapabilirsiniz.