Dünyada 200.000’den fazla Python paketi var (ve bu sadece resmi Python Paket Dizini olan PyPI’de barındırılanları sayıyor). Şu soruyu akla getiriyor: Pek çok paket varken, her Python programcısının öğrenmesi gereken en önemli paketler hangileridir?
Bu soruyu yanıtlamaya yardımcı olmak için, çeşitli projeleri üstlendiğinizden daha sık ortaya çıkacaklarından, aşina olmanız gereken en önemli, yararlı ve her yerde bulunan en önemli on Python paketinin listesi aşağıda verilmiştir. Bu amaçla, bu liste, veri bilimi veya Web geliştirme gibi belirli bir nişe odaklanmanın aksine, çok çeşitli programlama senaryolarını ve hedeflerini kapsayan Python paketlerine odaklanır.
1 NumPy
Herhangi bir özel Python paketi olmadan temel matematiksel işlemleri yapabilirsiniz. Bununla birlikte, herhangi bir karmaşık matematik işlemi yapacaksanız, NumPy paketi kodlama hayatınızı çok daha kolaylaştıracaktır.
NumPy, çok boyutlu diziler oluşturmaya ve içlerinde depolanan veriler üzerinde hesaplamalar yapmaya yardımcı olacak araçlar sağlar. Cebirsel formülleri çözebilir, genel istatistiksel işlemleri gerçekleştirebilir ve çok daha fazlasını yapabilirsiniz.
NumPy, çeşitli genel amaçlı programlama görevleri için değerli bir Python paketi olsa da, TensorFlow gibi kitaplıkların temelinin bir parçasını sağladığından makine öğrenimi yapmak istiyorsanız özellikle önemlidir.
1 2 3 | pip install numpy |
2 Pendulum
En azından biraz Python programlama deneyiminiz varsa, datetime modülünü bir uygulamadaki tarihleri ve saatleri yönetmek için kullanabileceğinizi muhtemelen biliyorsunuzdur.
Datetime, bu satırlar boyunca temel çalışma için harika olsa da, Pendulum Python paketi, tarih ve saatleri içeren daha karmaşık kodlamalar yapmayı kolaylaştırır. Çalışması daha sezgiseldir ve saat dilimlerini otomatik olarak yönetir.
Hepsinden iyisi, Pendulum, datetime yerine geçecek şekilde tasarlanmıştır. Bu, onu tarih saatine göre zaten yazdığınız kodla kullanabileceğiniz anlamına gelir. Sadece birkaç istisna dışında Pendulum, kodu değiştirmeye gerek kalmadan aynı şekilde çalışacak ve aynı zamanda eski tarihlerde bulunmayan ekstra özellikler sunacaktır.
1 2 3 | pip install pendulum |
3 Python Imaging Library(Pillow)
Python uygulamanız görsellerle herhangi bir şekilde etkileşime girerse, PIL veya Pillow olarak da bilinen Python görüntüleme kitaplığı, Python’un sahip olması gereken bir şeydir. Görüntüleri çeşitli biçimlerde açan, değiştiren ve kaydeden kod yazmayı kolaylaştırır.
Görüntülerle daha gelişmiş işler yapıyorsanız (görüntü tanıma gibi, bu durumda OpenCV dikkate alınması gereken iyi bir paket olacaktır), Pillow bunu kendi başına yetmeyecektir. Ancak, temel görüntü içe aktarma, işleme ve dışa aktarma için, Pillow sizin tercih ettiğiniz en iyi çözüm olacaktır.
1 2 3 | pip install Pillow==2.2.2 |
4 MoviePy
Pillow görüntüler için neyse MoviePy videolar odur. Video dosyalarının içe aktarılması, değiştirilmesi ve dışa aktarılmasıyla ilgili ortak görevler için bir dizi işlevsellik sağlar. Ayrıca, videolara başlık eklemek veya videoları 90 derece döndürmek gibi şeyler yapmanızı da sağlar (herhangi bir nedenle bunu yapmaya karar verirseniz).
Pillow gibi, MoviePy de gelişmiş veri işleme için bir araç olarak tasarlanmamıştır. Bir video düzenleme uygulaması yazıyorsanız, MoviePy’nin sahip olmadığı gelişmiş işlevselliği sağlamak için muhtemelen OpenCV’ye de (videolarla ve görüntülerle çalışabilir) güvenmeniz gerekecektir. Ancak Python kodundaki videoları içeren çoğu standart görev için MoviePy işi oldukça iyi yapar.
1 2 3 | pip install moviepy |
5 Requests
HTTP istekleri gönderen kod yazmak zor olabilir, çünkü HTTP’nin verileri tam olarak insanların okuması kolay bir şekilde biçimlendirmemesi gerçeği zordur.
Requests Python paketi (slogan: “İnsanlar için HTTP”), uygulamanızdan HTTP istekleri göndermek için normalde yapmanız gereken sıkıcı görevlerin çoğunu otomatikleştirerek bu sorunu çözer. Sorgu dizeleri ekleme veya POST form kodlaması yapma ihtiyacını ortadan kaldırır. Ayrıca, HTTP sunucularıyla bağlantıları otomatik olarak canlı tutar ve bunu yapmak için bir sürü kod yazma ihtiyacını ortadan kaldırır.
Kısacası, uygulamanız HTTP üzerinden herhangi bir veri gönderiyorsa, İstekler mutlaka sahip olunması gereken bir pakettir.
1 2 3 | pip install requests |
6 Tkinter
Grafik Kullanıcı Arayüzüne (GUI) sahip bir Python uygulaması mı geliştirmek istiyorsunuz? Bunu yapmanıza yardımcı olmak için tasarlanmış çeşitli paketler vardır (aslında, sadece Python GUI paketlerinin ilk on listesini yapabiliriz). Ancak çoğu Python geliştiricisinin, GUI oluşturmak için Tkinter’in en önemli ve en yaygın kullanılan çerçeve olduğu konusunda hemfikir olacağını düşünüyorum. Python’u hemen hemen her modern işletim sisteminde çalışan TK GUI araç setine bağlar.
Farklı bir GUI araç takımı için güçlü bir tercihiniz yoksa, Tkinter muhtemelen bir Python GUI oluştururken başlamak için en iyi yerdir.
7 PyQt
Önceki ifadeden bağımsız olarak, GUI’leri oluşturmak için başka bir Python paketi olan PyQT de güçlü bir rakiptir. Aynı zamanda çapraz platform olan Qt araç setine (tahmin ettiniz) bağlar sağlar. Tkinter’den daha ağır görev GUI programlaması için tasarlanmıştır. Bu, oldukça basit bir arayüze sahip bir uygulama oluşturuyorsanız (örneğin, sadece bazı düğmeler ve metin alanları içeren bir pencere) PyQT’nin aşırı yüklenebileceği anlamına gelir, ancak karmaşık, çok boyutlu bir uygulama oluşturmak istiyorsanız iyi bir araçtır. GUI.
1 2 3 | pip install PyQt5 |
8 Pandas
Karmaşık veri kümeleriyle çalışmak için tasarlanmış uzun bir Python paketleri listesi vardır. Ama tartışmasız, Pandas en önemlisidir. Pandas, R gibi özel bir veri işleme dili öğrenmek zorunda kalmadan büyük veri kümelerini işlemenize ve analiz etmenize yardımcı olur.
Pandaların, gelişmiş istatistiksel modellemeye yönelik olmaması nedeniyle sınırları vardır (bu durumda, R öğrenmek veya istatistik modelleri gibi bir Python paketi kullanmak istersiniz). Ancak, zaman serisi verilerini işleme veya bir veri kümesi üzerinde istatistiksel analiz gerçekleştirme gibi şeyler yapmanız gerekirse, Pandas size yardımcı olur.
1 2 3 | pip install pandas2 |
9 Pywin32
Özellikle Windows Python programlama için, Pywin32 sahip olunması gereken bir pakettir. Windows kayıt defteriyle etkileşim, Windows panosunu kullanma ve çok daha fazlası gibi şeyler yapmanıza olanak tanıyan birçok yerel Windows API işlevine erişim sağlar.
Platformlar arası bir Python uygulaması oluşturuyorsanız, Pywin32 size pek iyi gelmez, ancak Windows geliştiricileri, yerel Windows araçları yerine kullanmaktan çok hoşlandıklarını fark edebilirler.
1 2 3 | pip install pywin |
10 Pytest
Herhangi bir karmaşıklığa sahip bir Python geliştirme projeniz varsa, yeni kod üzerinde test yapabilmek çok önemlidir. Pytest paketi, bunu yapmanıza yardımcı olacak çeşitli modüller sunar. İster basit bir birim testi ister daha karmaşık bir işlevsel test olsun, Pytest bunu yazmanıza yardımcı olabilir.
1 2 3 | pip install pytest |
11 Spyder
Spyder, Python’da Python için yazılmış ve bilim adamları, mühendisler ve veri analistleri tarafından ve onlar için tasarlanmış güçlü bir bilimsel ortamdır. Kapsamlı bir geliştirme aracının gelişmiş düzenleme, analiz, hata ayıklama ve profil oluşturma işlevlerinin benzersiz bir kombinasyonunu, bilimsel bir paketin veri keşfi, etkileşimli yürütme, derin inceleme ve güzel görselleştirme yetenekleriyle sunar.
Birçok yerleşik özelliğinin ötesinde, yetenekleri eklenti sistemi ve API aracılığıyla daha da genişletilebilir. Dahası, Spyder ayrıca bir PyQt5 eklenti kitaplığı olarak da kullanılabilir, bu da işlevselliğini geliştirmenize ve etkileşimli konsol gibi bileşenlerini kendi yazılımınıza yerleştirmenize olanak tanır.
1 2 3 | pip install spyder |
Sonuçlar
En sevdiğiniz Python kitaplığınız veya frameworküzün bu listede olması gerektiğinizi düşünebilirsiniz, ekosistemde en çok tercih edilen python paketlerine yer vermeye çalıştım. Sevdiğiniz python paketleri bu listede yoksa sakın gücenmeyin. Python ekosistemi o kadar çok değerli paketler oluşturmuştur ki, bırakın en iyi listesi bir yana, en önemli 100 listesinde bile tüm önemli olanları dahil etmek imkansızdır. Yine de, genel amaçlı Python programlaması için, yukarıda açıklanan paketler genellikle işe yarar.
Yorum Yap