Conda nedir, nasıl kullanılır? Conda ile Virtual Environment, Package Management ve Dependency Managament .
Herkese merhabalar ilk yazımda Conda nedir, nasıl kullanılır ve Conda ile Virtual Environment (Sanal Çevre) , Package Management (Paket Yönetimi) , Dependency Management (Bağımlılık Yönetimi) nasıl yapılır paylaşmak istiyorum.
Conda nedir ve ne için kullanılır?
Öncelikle Conda bir paket, bağımlılık yöneticisi ve sanal çevre oluşturma/yönetme yazılımıdır. İlk başta Python için çıkmasına rağmen şu anda Python, R, Ruby, Lua, Scala, Java, JavaScript, C/ C++, FORTRAN gibi dillerin her biri için çalışır ve destekler. Windows, macOS, ve Linux gibi tüm platformlarda çalışır. Conda hızlı bir şekilde yüklediğiniz paketler/kütüphaneler için yüklenmiş olması gereken(Bağımlılık Yönetimi) paketleri yükler, çalıştırır ve günceller. Yani bir paket yüklediğinizde, yüklediğiniz paket başka paketlerle entegre veya üzerine çalışıyorsa, siz de o paketleri yüklememişseniz Conda sizi uyarır ve bunu sizin için yükler. Conda aynı zamanda kolayca sanal çevreler oluşturur, kaydeder, yükler ve bu çevreler arasında hızlıca geçiş yapabilir. Yani siz çalışmalarınızı birbirinden izole edebilir, farklı gerekliliklerdeki farklı projeler için sisteminizde köklü değişiklikler yapmak yerine belirli özelliklere ve paket versiyonlarına sahip yeni sanal çevreler oluşturabilirsiniz. Veri Bilimi gibi bir takım alanlara yeni başlayan ve paket yönetimi gibi başlangıç, öğrenme seviyesindeki kullanıcılar için nispeten karışık ve zor olan paket yönetimi ve bağımlılık yönetimi sorunlarını ortadan kaldırır. Hazır birtakım paketler ile gelir ve bu paketler Veri Bilimi için çok kullanılan birtakım kütüphaneleri hazır şekilde içerir. Bu kütüphaneleri yükleme silme değiştirme gibi karışık işlemlerle ilk etapta uğraşmanıza gerek kalmaz.(Daha fazlası için : https://docs.conda.io/projects/conda/en/latest/index.html)
Conda nasıl yüklenir?
Conda paket ve çevre yönetimi halihazırda Anaconda, Miniconda ve Anaconda Repository’nin tüm versiyonlarında yüklü olarak gelmektedir. Aynı zamanda PyPI üzerinden yüklenebilir fakat Conda bunu tavsiye etmemektedir. Conda’yı kullanıp yüklemenin en iyi yolu ücretsiz dağıtılan Anaconda yazılımını indirip kurmaktır.
Conda nasıl kullanılır?
Conda pip gibi birtakım kodlarla çalışır ve bu kodlar, Anaconda Navigator yazılımında CMD.exe Prompt adı verilen komut istemcisinde veya PyCharm, VSCode gibi gelişmiş IDE’lerin terminallerinde çalıştırılabilir.
Dikkat: Yukarıdaki ekran alıntısı Anaconda Navigator içinden açılmış CMD.exe’dir. Windows komut isteminden direkt olarak Conda çalıştırmak için PATH ayarlaması yapmak gerekmektedir. Aksi halde “ ‘conda’ command is not recognized” hatası alınacaktır.
Yeni Sanal Çevre Oluşturma ve Paket Yönetimi
Conda kurulum esnasında bir takım sanal çevreleri kendisi oluşturur. Sistemde var olan çevreleri görmek için “conda env list” yazılır.
Bu çevrelere yenisini eklemek için “conda create -n yeni_cevre_ismi” kodu yazılır. Bu kodu yazdıktan sonra komut satırı bize çevrenin nerede oluşturulacağını söyler ve onay ister. Eğer istediğimiz yere kuruyorsa Y eklenir ve yükleme tamamlanır.
Oluşturduğumuz yeni çevreyi aktif hale getirmek için “conda activate yeni_cevre_ismi” kodu yazılır ve içine istenilen paketler yüklenir. Yeni çevremiz aktifleştirildikten sonra “conda list” kodu ile içinde yer alan paketleri görebiliriz. Yalnız biz kurulum esnasında hiçbir şey yüklemediğimiz için herhangi bir paket bilgisi gelmeyecektir. Yeni çevre oluşturulurken belirli bir Python sürümü ve birden çok paket istenilen sürümleriyle yüklenebilir. Bu yüzden oluşturduğumuz yeni çevreyi deaktive edip sileceğiz ve belirli bir Python sürümü ve bir takım kütüphanelerle tekrar yeni bir çevre oluşturucağız.
NOT: Aktif olarak kullandığınız çevreyi silemezsiniz, bunun için öncelikle deaktive edip sonra çevreyi silmeniz gerekmektedir.
Çevreyi silmek için “conda env remove -n yeni_cevre_ismi” kodu yazılır. Ve silindiğinden emin olmak için “conda env list” yazarak kontrol edebilirsiniz.
Şimdi final adında bir çevre oluşturup Python 3 sürümünü ve beraberinde seaborn kütüphanesinin güncel sürümünü, Pandas kütüphanesinin 1.1 sürümünü yükleyeceğiz. Çevrede var olan paketleri “conda list” ile görüntüleyip seaborn kütüphanesini sileceğiz ve pandası güncelleyeceğiz.
Belirli Python sürümlü çevre oluşturma: Final adında Python 3 yüklü çevre oluşturmak için: “conda create -n final python=3 ” . Bunu yüklerken dependency management yani bağımlılık yönetimi açından gerekli paketleri yükleyeyim mi sorusunu sorar ve onay verdikten sonra devam eder.
Aynı anda paketler kurma: seaborn ve pandas 1.1 yüklemek için: “conda install seaborn pandas=1.1” Kurduğumuz çevreyi aktif hale getirdikten sonra paketleri kurabiliriz. Aynı şekilde yine bağımlılık yönetimi kapsamında onay ister. Yüklü paketleri “conda list” ile görüyoruz.
Paket silme: seaborn’u silmek için “conda remove seaborn” Yine bağımlılık yönetimi onayı alır.
Paket güncelleme: pandası güncellemek için “conda update pandas” Yine bağımlılık yönetimi onayı alır.
Görüldüğü üzere Conda kullanımı kolay, ve aynı anda bir çok pakedin yüklenip güncellenebildiği bir çevre, paket, bağımlılık yönetimi sağlar. Bütün paketler aynı anda güncellenebilir “conda update -all” . Çevrede yüklü olan paketler ihraç edilebilir “conda env export > paketler.yaml’’(Çevrenin var olduğu dizinde paketler.yaml adında bir dosya oluşturur. Not defteri ile açılabilir). Başka bir çevredeki paketler ithal edilebilir ‘‘conda env create -f paketler.yaml’’(Paketler bilgisi taşıyan dosyanın çevreyle aynı dizinde olması gerekmektedir). (Bütün Conda kodları için: https://docs.conda.io/projects/conda/en/latest/commands.html)
Kaynaklar:
Data Science & Machine Learning Bootcamp - Veri Bilimi Okulu