Conda nedir, nasıl kullanılır? Conda ile Virtual Environment, Package Management ve Dependency Managament .

İbrahim Halıcı
5 min readMay 21, 2021

--

conda logo

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?

Anaconda Navigator
Anaconda Navigator

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.

Anaconda Navigator CMD.exe conda info
Conda info kodu ile conda versiyon ve yol bilgilerine erişebiliriz.

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.

Sistemde var olan çevreleri görüyoruz.

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.

Yeni Çevre Oluşturma

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.

Yeni Çevreyi aktifleştirmek içinde olan paketleri görüntülemek ve deaktive etmek.

Ç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.

Çevreyi silmek

Ş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.

Belirli Python sürümlü çevre oluşturma

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.

Aynı anda birden fazla paket yüklemek
Conda list ile çevrede yüklü paketleri görebiliyoruz.

Paket silme: seaborn’u silmek için “conda remove seaborn” Yine bağımlılık yönetimi onayı alır.

Paket silme

Paket güncelleme: pandası güncellemek için “conda update pandas” Yine bağımlılık yönetimi onayı alır.

Paket güncelleme

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üncellenebilirconda update -all” . Çevrede yüklü olan paketler ihraç edilebilirconda 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

--

--

No responses yet