Tam metin 2793 Kelimeler, tahmini öğrenme süresi 6 dakika
Resim kaynağı Unsplash
Python'da kodlama deneyimi mükemmel ve yeni sürümün yayınlanmasıyla daha iyi ve daha iyi hale geliyor! Benim için, Python tarafından sağlanan çok sayıda ücretsiz işlev kitaplığı, son derece okunabilir programlar ve yeni tanıtılan tür ek açıklamaları beni buna bağımlı yapıyor. Bununla birlikte, veri bilimcilerin Jupyter not defterlerini büyük ve dağınık hale getirmeleri veya anlaşılması zor bazı python dosyalarını yazmaları özellikle kolaydır. Ek olarak, bir proje aynı kitaplığın farklı sürümlerine bağlı olduğunda, genellikle sürüm çakışmaları ortaya çıkar. Yukarıdaki sorunları çözmek çok zaman alır ve genellikle diğer projelerde sorunlara neden olur. Bu tür sorunların önüne geçmek için çözüm bulmak ve kod yazmada kolaylık sağlamak gerekir.
Bu yazıda, okuyuculara yardımcı olmayı umarak yaygın olarak kullanılan araç ve teknikleri ayrıntılı olarak tanıtacağım.
Python geliştirme ortamı
Çevirmen
Python kullanırken en önemli yorumlayıcıyla başlayın. Elbette en sevdiğiniz Python sürümünü indirebilir ve her şeyi içine koyabilirsiniz. Peki ya programınız Python'un farklı sürümlerini gerektiriyorsa veya aynı üçüncü taraf modülün farklı sürümlerine bağlıysa ve birkaç program arasında sorunsuz bir şekilde geçiş yapmanız gerekiyorsa?
Pyenv yukarıdaki sorunları çözebilir.
Pyenv üç araç içerir, yazar bunlardan ikisini tanıtacaktır: pyenv (python'u kurmak için kullanılır) ve pyenv-virtualenv (global araçları yapılandırmak için kullanılır).
Pyenv'i aşağıdaki URL'den yükleyin.
curl https://pyenv.run | bash
Kurulumdan sonra, pyenv'i aygıtta kullanılabilir hale getirmek için .bashrc (veya .zshrc) dosyasına aşağıdaki kodu ekleyin.
exportPATH = "~ / .pyenv / bin: $ PATH"
eval "$ (pyenv init -)"
eval "$ (pyenv virtualenv-init -)"
Son olarak cihazı yeniden başlatın. Artık pypy ve anaconda dahil olmak üzere neredeyse tüm python yorumlayıcılarını kurmak için pyenv'i kullanabilirsiniz.
Pyenv'in bilgisayarda yalnızca yerel bir python ortamı oluşturduğuna dikkat edilmelidir. Bir python ortamı oluşturmak için çeşitli işlev kitaplıklarına ihtiyaç vardır. Ubuntu sistem bilgisayarlarında, çalışma sorunlarını önlemek için aşağıdaki kitaplıklar kurulmalıdır.
sudo apt-get installbuild-essential libsqlite3-dev sqlite3 bzip2 libbz2-dev zlib1g-dev libssl-dev openssllibgdbm-dev libgdbm-uyumlu-dev liblzma-dev libreadline-dev libncursesw5-devlibffi-dev uuid-dev
Şimdi, python yorumlayıcısını kurmak için aşağıdaki talimatları uygulamanız yeterlidir.
pyenv installVERSION_YOU_WOULD_LIKE_TO_INSTALL
Mevcut tüm sürümleri pyenv aracılığıyla listeleyebilirsiniz.
pyenv yükleme - listesi
Yukarıdaki işlemi daha spesifik hale getirmek için, python3.7.5'i buraya yükleyin ve varsayılan global yorumlayıcı olarak ayarlayın.
pyenv 3.7.5 kurulumu
pyenv global 3.7.5
Python sürümü komutunu girin ve ekranda Python 3.7.5 görüntülenecektir.
Bağımlılık Yönetimi (Bağımlılık Yönetimi)
Python'da bağımlılık yönetimi ağır bir iştir. Bu görevde yardımcı olabilecek birçok araç var.
En sık kullandığım araç Şiir.
Şiir, aşağıdaki görevleri kolayca tamamlamanıza yardımcı olabilir.
· Proje bağımlılıklarını yönetin
· Projeleri sanal ortamlar aracılığıyla ayırın
Kolayca uygulama ve işlev kitaplıkları oluşturun
Yazar şiiri aşağıdaki şekillerde yüklemenizi önerir:
curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python
Bağımlılık yönetiminin başka bir yolu da pip ve pyenv-virtualenv komutlarını kullanmaktır. Okuyucular sorabilir: Neden sadece pip kullanmıyoruz? Çünkü sadece pip kullanmak şiir ve onun bağımlılıklarını küresel ortama yerleştirebilir, ki bu ihtiyacınız olmayan veya istemediğiniz bir şey olabilir. Gerekli talimatlar aşağıdaki gibidir.
# 3.7.5'e dayalı araçlar adı verilen bir sanal ortam oluşturun
pyenv virtualenv 3.7.5 araçları
# Araçların sanal ortamına şiir yükleyin
pyenv araçları etkinleştir
pip kurulum şiiri
# Yüklü şiir sürümünü kontrol edin
şiir -versiyon
# Sanal ortamdan ayrıl
pyenv devre dışı bırak
# Bu henüz çalışmıyor
şiir -versiyon
# Dünya çapında mevcut olanlara araçlarınızın sanal ortamını ekleyin
pyenv global 3.7.5 araçları
# Şimdi işe yarıyor ve şiir kullanmaya başlayabilirsiniz
şiir -versiyon
İlk projeyi oluşturmak için şiiri kullanmadan önce, proje dizinindeki .venv klasöründe bir sanal ortam oluşturabilmeniz için önce yapılandırmanız önerilir. VsCode veya Pycharm gibi entegre geliştirme ortamlarını kullandığınızda, doğru yorumlayıcıyı hemen belirleyip seçebildikleri için çok kullanışlı hale gelir.
poetry configsettings.virtualenvs.in-project true
Yapılandırmayı yalnızca bir kez ayarlamanız gerektiğini ve ayar sonucunun genel ortamda tutulacağını unutmayın.
Nihayet şiirli bir proje oluşturmak için tüm hazırlıklarını tamamladım, harika! Bu projeye dsexample adını verdim, adın aptalca olduğunu biliyorum ama daha iyisini düşünerek zaman kaybetmek istemiyorum. Şiirin nasıl kullanılacağını göstermek için, pandas kitaplığının belirli bir sürümünü ve tüm ek gereksinimler için fastapi çerçevesini ekledim.
# Yeni bir projeyi başlatın
şiir yeni örnek
cd dsexample
# Modüller ekleyin ve sanal ortam oluşturun.
şiir pandalar ekle = 0.25 fastapi --ekstra tüm
# Git modülünü nasıl ekleyebileceğinize bir örnek olarak
şiir tf2-utils ekle --git git@github.com: Shawe82 / tf2-utils.git
Makalede önerilen araçları kullanan gerçek bir proje görmek istiyorsanız, lütfen Github depomuza gidin.
Biçim tutarlılığı ve okunabilirliği (Tutarlı Biçimlendirme ve Okunabilirlik)
Artık proje oluşturulduğuna göre kod eklemeye başlayacağız. İdeal olarak, kod tabanının formatı okunabilirliği ve anlaşılabilirliği sağlamak için tutarlı olmalıdır. Bu, özellikle kod tabanını çalıştıran başkaları olduğunda çok sıkıcı bir süreç olacaktır.
Ancak Siyah yukarıdaki sorunları çözebilir!
Black, programcıların python kodu yazarken temel içeriğe odaklanmasına olanak tanıyan bir araçtır. Programcıların manuel olarak biçimlendirme eklemesini önleyerek koda otomatik olarak biçimlendirme ekler. Siyah çok iyi çalıştığı için, onu dsexample'ye ekliyoruz ve tüm dosyalara biçimlendirme eklemesine izin veriyoruz.
# Siyahı kalkınma bağımlılığı olarak --dev ile ekliyoruz.
# üretim söz konusu olduğunda ona ihtiyacım var
şiir ekle --dev siyah = 19.3b0
# Mevcut üst düzey dsexample klasörünün içinde olduğumuzu varsayalım
şiir siyahtır.
Harika, şimdi tüm dosyalar çok düzgün görünüyor.
Tip Doğruluğu
Python 3.5'ten bu yana (yanlış hatırlıyorsam lütfen düzeltin), tür ek açıklamaları standart kitaplığın bir parçası haline geldi. Tür ek açıklamaları sayesinde, kod daha iyi anlaşılır, bakımı daha kolaydır ve daha az hataya açıktır. Hata yapmak neden kolay değil? Çünkü değişken ve fonksiyon türlerinin beklentileri karşılayıp karşılamadığını statik olarak kontrol edebilirsiniz. Tabii ki otomatik olarak yapılması gerekiyor.
İşte mypy.
Mypy, statik bir python kod denetleyicisidir, rolü hatalar oluşmadan önce onları bulmaktır. Projeye mypy eklemek ve kodu kontrol etmek için şiir kullanmak siyah eklemek kadar kolaydır.
ypy, --dev ile bir kalkınma bağımlılığı olarak
# üretim söz konusu olduğunda ona ihtiyacım var
şiir ekle - dev mypy
# Mevcut üst düzey dsexample klasörünün içinde olduğumuzu varsayalım
şiir benimle koşar.
Mypy'yi çalıştırmak da çok fazla soruna neden olabilir. Elbette, onu yalnızca önemsediğiniz hatalar hakkında uyarı verecek şekilde ayarlayabilirsiniz. Bu, projeye bir mypy.ini dosyası eklenerek elde edilebilir.
Otomasyonu Otomatikleştirin
Siyah ve mypy ile artık kodu manuel olarak biçimlendirmemize gerek kalmaz ve gereksiz hatalar önlenebilir. Ancak yine de bu iki aracı manuel olarak kullanmamız gerekiyor.Bu iki aracın da otomatikleştirilmesi gerekmez mi?
Evet!
Ön taahhüt her şeyi başarabilir.
Ön taahhüt aracı, kod depoya gönderilmeden önce kontroller gerçekleştirir (varsayılan olarak okuyucunun kodu git'in kontrolü altındadır). Kontrolde başarısız olan kodlar reddedilecektir. Bu şekilde, kod deposunda hiçbir zaman düzensiz veya yazılmamış kod ve hataları kontrol etmeniz gereken diğer kodlar olmayacaktır.
Şimdi pre-commit'i kuralım.
Şiiri doğrudan projeye yüklemek için kullanabilir veya yerel makinenize kurabilirsiniz. İkincisini tercih ederim çünkü ön taahhüt CI / CD sunucusunda değil, yalnızca yerel olarak kullanılır. Bunun yerine, siyah ve mypy CI / CD sunucusunda çalışır, bu nedenle bunları projenin dev bağımlılıklarına eklemek mantıklıdır. Yazar, mevcut bir araç sanal ortamı aracılığıyla kurmak için aşağıdaki yöntemi kullanmanızı önerir.
# Ön işlemeyi araçların sanal ortamına yükleyin
pyenv araçları etkinleştir
pip install pre-commit
# Sanal ortamdan ayrıl
pyenv devre dışı bırak
# Venv aracını zaten eklediğimiz için, doğrudan çalışacak
pre-commit --version
Ön işlemeyi kullanmak için, önce .pre-commit-config.yarm adlı bir dosyayı en üst düzey klasöre eklemeniz gerekir. Bu dosyada, çalıştırılması gereken tüm kancaları yapılandırmanız gerekir. Mypy ve Black ortamında dosya içeriği aşağıdaki gibidir.
repos: - repo: https://github.com/ambv/black rev: 19.3b0 hooks: -id: black language_version: python3.7- repo: https://github.com/pre-commit/mirrors-mypy rev : v0.740 kancalar: -id: mypy
Son olarak, kancayı ayarlamak için aşağıdaki komutu yürütmelisiniz.
# Üst düzey klasörde olduğunuzu varsayıyorum
önceden yükleme yükleme
Şimdi, hook fonksiyonu (hook) her işlemede çalışacaktır. Siyah aracının kanca işlevi yalnızca biçimi kontrol etmekle kalmaz, aynı zamanda dosyaya uygun şekilde biçimlendirme de ekler. Her yeni kanca işlevi eklediğinizde, başlangıçta tüm dosyalarda önceden el ile çalıştırmanız önerilir, çünkü yalnızca son gönderimden bu yana değiştirilen dosyalar üzerinde çalışabilir.
pre-commit run --all-files
Bu şekilde otomasyon aracının otomasyonu tamamlanmış olur.
sonuç olarak
Önemli şeylere odaklanmanıza yardımcı olacak birçok araç vardır. Yazar burada bunlardan sadece birkaçını tanıtıyor. Elbette dahası var. Umarım yeni bir şey öğrendikten sonra kodun kendisine daha fazla odaklanabilirsiniz.
Yorum Beğen Takip Et
AI öğrenme ve geliştirmenin kuru mallarını paylaşalım
Yeniden yazdırıyorsanız, lütfen arka planda bir mesaj bırakın ve yeniden yazdırma şartnamelerine uyun