PYPI nedir?
PyPI — The Python Package Index
Yazdığımız projeleri buraya ekleyerek pip install paket
seklinde çalışma dizinimize indirerek kullanmaya çalışacağız.
Hadi paket olusturalım.
Ilk önce çalışma dizininden bahselim.
|
|
Yukarıda 1 etiketi ile belirttiğim yer projemizi PyPi gönderirken setlememiz gereken verilerinde yer aldığı dizin. 2 etiketi ile belirttiğim dizin ise projemizin kodlarınin bulunduğu yer olarak kısaca özetleyeyim. Uygulamanızı yukarıdaki hiyerarşiye getirmeniz gerekiyor.
PyPi konfigürasyonu
Eski kaynaklara bakan arkadaşlar için uyarayım. Pypi için bazı gereksinimler artık bulunmuyor. Mesela ilk önce test serverına yüklememiz bekleniyordu. Şimdi buna gerek duymadan direk yükleme işlemi yapılıyor. Kafa karışmadan direk konuya geçeyim.
cd $HOME
komutunu terminale yazın ve bulunduğunuz dizine .pypirc
adında bir dosya oluşturun. Içine ise kendi bilgilerinizi değistirerek şunları yazmanız gerekiyor.
|
|
Bu kısım tamamdır, şimdi çalışma dizinimize tekrar dönebiliriz.
Setup kısımları
Burada uygulamanın önemli bilgilerini setleyeceğiz. Ama ilk önce projemizi github vb. yerlere göndermemiz gerekiyor. Standart bir sekilde github’a push yapma islemini yaptiktan sonra şu aşagıdaki iki komutu çalıştırın.
|
|
Bu aşamadan sonra aşağıdaki verileri kendinize uygun olarak setleyin.
setup.py
|
|
Readme kısmını buradan tanımlıyoruz. Burayı kendimizde manipüle edebilirdik.
setup.cfg
|
|
license.txt
Bu konuyu araştırmanız gerekiyor. Cünkü bu konu ayrıca bir blog yazısını hak ediyor. Şu kaynaktan bakabilirsiniz: Açık Kaynak Lisansları
Vee tamamdır.
Son olarak bashte şu komutu çalıştıralım. Artık tamamdır.
python setup.py sdist upload -r pypi
Notlar:
- Yanlış birşey yaptınız ve güncellemek istiyorsunuz, ne yapmalıyım?
Çok basit projedeki düzenlemeleri yapın ve istediğiniz düzenlemeyi 0.2 vb.. gibi şekilde tag
‘layın. Hemen ardından setup.py üzerinden version kısmını düzenleyin ve download_url kısmındaki son version bilgilerini güncelleyin. Tekrar upload işlemi yapın. 10 dk içerisinde güncellenmiş halini pip ile indirebiliyor olacaksiniz.
- Paketi kurdum ama localde denerken nasıl tanımlayacağımı bilmiyorum?
IPython sizin en yakın dostunuz. Otamatik tamamlama ve yorumlayıcıda rahatlık sunması ile size büyük hız kazandıracak. Ilk önce onu bir edinin. Simdi ise from paket_ismi import dosya_ismi
ile dosyayi import edin. Içinde bir class veya fonksyionu dosya_ismi.Class()
gibi notasyonlarda kullanmayı deneyin. Bunu başarabilirsiniz; size güveniyorum. :)