Bir önceki yazımızda veri bilimcilerin uygulamalarını geliştirmek için en çok kullandığı araç olan Anaconda‘nın kurulumundan bahsetmiştim. Bu yazımda da kurulumdan sonra hayati öneme sahip olan sanal ortam kurulumundan bahsedeceğim.
Sanal ortam kavramını açıklamadan önce karşılabileceğiniz bazı durumları anlatmak gerekiyor. Makine öğrenmesi veya veri bilimi çalıştığınız uygulamalarınızı geliştirmeye başladığınız zaman, yazdığınız kod için modül, package veya library dediğimiz, içerisinde spesifik fonksiyon/class bütünlerini içeren, kütüphaneleri/paketleri çağırmanız gerekiyor. Matematiksel işlemler için NumPy, tablolarınızı/verinizi manipüle etmek, düzenlemek için Pandas veya verinizi görselleştirmek için Matplotlib gibi vs. Bu tarz kütüphanelerin kendine has özel fonksiyonlarını programınızda kullanmak için bunların bilgisayarınızda, Anaconda dizininin altında kayıtlı olması gerekiyor.
Bu serinin ilk yazısında da bahsettiğim gibi Anaconda aslında önemli kütüphaneleri default olarak kendi ana klasörüne yüklüyor. Bu ana klasöre Base/Root diyebiliriz. Ama bazen uygulama geliştirme esnasında, yaptığımız uygulamanın spesifik durumlarına göre başka kütüphaneler veya onların farklı versiyonlarını yüklememiz gerekiyor. Faket bu kurulumlarda bazen sorunlar karşınıza çıkıyor. Mesela, çalıştığım iş yeri için yaptığım bir uygulamada Anaconda‘da default olarak kurulu gelen Pandas versiyonu ihtiyacımı karşılamadı. Bu yüzden uygulamam için gerekli olan fonksiyonu içeren Pandas versiyonunu kurmak durumunda kaldım. Yine başka bir uygulama geliştirme esnasında, ihtiyacım olan ve indirdiğim makine öğrenmesi kütüphanesinin bilgisayarımda kurulu olan Python versiyonuyla uyuşmadığını ve çalışmadığını gördüm. Nedeni ise, o kütüphanenin Python‘ın sadece belirli bir versiyondan sonrasıyla çalıştığıydı. Başka bir sefer, ihtiyacım olan bir kütüphaneyi kurduktan sonra o kütüphanenin bazı fonksiyonlarının bilgisayarımda kurulu olan NumPy versiyonuyla çalışmadığını gördüm. Bu arada, makine öğrenmesi/veri bilimi için oluşturulan çoğu kütüphanenin temelini NumPy‘dan aldığını söylemek de fayda var. Makine öğrenmesi/veri bilimi kütüphaneler bütününü bir soğana benzetirsek, NumPy o soğanın tabiri caizse cücüğü olur.
İşte bu tarz uyuşmazlıkları önlemek, sadece ihtiyacımız olan kütüphanelerle/paketlerle çalışmak için Anaconda‘da default olarak kurulu gelen Base/Root ortamının dışında, kendi zevkimize göre sanal ortamlar oluşturabiliriz. Herhangi bir sanal ortam oluşturduğumuzda, bu sanal ortam diğer sanal ortamlardan izole bir şekilde çalışır ve uygulama geliştirme esnasında bize büyük kolaylıklar sağlar. Oluşturduğumuz sanal ortamın içine, bir bohçanın içine atar gibi, belirli bir Python versiyonunu, birbiriyle uyumlu ve ihtiyacımız olan kütüphaneleri atabilir, mutlu mutlu çalışabiliriz.
Bu önemli açıklamalardan sonra isterseniz Anaconda‘da sanal ortamın nasıl kurulduğuna geçelim. Kurulum kodlarının anlaşılabilir olması için, sanal ortamın ismine kendi ismimi kullanarak ‚deneme‘ diyeceğim. Siz kendi sanal ortamınızı oluştururken, yaptığınız projeye göre özel bir isimlendirme yapabilirsiniz. Kurulum aşamalarını terminal üzerinden kodlarla yapacağım. Dilerseniz Anaconda‘nın Navigator arayüzünde kolay bir yoldan da yapabilirsiniz. Bu arada aşağıdaki kodları Ubuntu‘da kullandığımı belirtmek de fayda var.
Eğer terminalde aktif olan ortamı göremiyorsak, öncelikle aşağıdaki komutu çalıştıralım. Ve terminali kapatıp bir daha açalım.
Not: Windows‘da anaconda terminali direkt başlat menüsünden başlatabilirsiniz. Base ortamı otomatik olarak gelecektir.
conda config --set changeps1 True
Karşımıza şöyle bir ekran çıkacak.
İlk önce isim vererek nasıl sanal ortam oluşturulacağına bakalım.
conda create --name deneme
Kurulumu tamamlamanız için yes mi no mu soracak. Y yazıp enterladıktan sonra ‚deneme‘ isimli sanal ortamınız hazır. Hayırlı olsun. İlk sanal ortamınızı oluşturdunuz. Burada ‚deneme‘ yerine istediğiniz ismi yazarak kendi sanal ortamınızı oluşturabilirsiniz.
Oluşturduğumuz sanal ortamı aktive etmek için,
conda activate deneme
Sanal ortamınızda kurulan Python versiyonunu öğrenmek için,
python --version
Sanal ortamınıza istediğiniz Python versiyonunu yüklemek için, örneğin 3.7 versiyonu,
conda install python==3.7
Sanal ortamınıza ihtiyacınız olan bir kütüphanenin versiyonunu yüklemek için, örneğin scikit-learn==0.24.1,
conda install scikit-learn==0.24.1
Sanal ortamınızda kurulu olan kütüphaneleri ve versiyonlarını görmek için,
conda list
Sanal ortamınızından çıkmak ve base ortama dönmek için,
conda deactivate
Anaconda’da kurulu olan sanal ortamları görmek için,
conda env list
Sanal ortam listesinde aktif olan ortamın üzerinde yıldız işareti göreceksiniz.
Sanal ortamla ilgili bunların dışında kullanabileceğiniz komutları Anaconda‘nın buradaki sayfasında bulabilirsiniz.
Bir dahaki yazılarımda buluşmak üzere!