Python’da Sanal Ortam (Virtual Environment)

Hilal Gevrek
4 min readJan 15, 2023

--

Bu yazımda, sizlerle Windows’da Python sanal ortam oluşturma işlemi ve bu ortamın sağladığı faydalar hakkında birtakım paylaşımlarım olacak. Aşağıda incelediğim konuları başlıklar halinde görebilirsiniz.

* Virtual environment nedir ve ne işe yarar?

* Virtual environment oluşturulması

* ‘requirements.txt’ dosyasının oluşturulması neden önemlidir?

* Geliştirilen virtual evironment’ın jupyter notebook’da kullanımı

- Virtual environment nedir ve ne işe yarar?

Projelerimizde zaman zaman versiyon uyuşmazlıkları ya da paket çakışmalarından kaynaklı hatalar alabiliriz. Virtual environment, bize diğer projelerimizden izole bir ortam kurma imkânı sağlar. Bu sanal ortam, her biri farklı paket kümelerine ve farklı yapılandırmalara sahip birden çok paralel Python interpreter’a sahip olmanın bir yoludur. Her sanal ortam -destek yardımcı programlarının kopyaları da dahil olmak üzere- Python interpreter’ın ayrı bir kopyasını içerir. Bu sayede farklı projelerdeki paketlerimizi yönetmek ve hataların önüne geçmek mümkün hale gelecektir.

- Virtual environment oluşturulması

Python’da sanal ortam oluşturmak ve yönetmek için ‘virtualenv’ ya da ‘venv’ modüllerinden birini kullanabilirsiniz. Bu modüllerden ‘virtualenv’ için kurulum gerekirken ‘venv’ Python3 kullanıcılarının standart kütüphanesinde kurulu olarak gelen bir modüldür.

Biz de bu yazımızda venv kullanarak bir sanal ortam oluşturacağız. Daha sonrasında ise sanal ortamımızda bulunan paketler ve versiyon bilgilerinin bulunduğu bir text dosyası (requiremens.txt) oluşturacağız.

Sanal ortam kurulumunu anaconda prompt ya da command prompt’da yapabilirsiniz. Yalnızca, eğer paketlerin kurulumunu cmd üzerinden yapıyorsanız ‘pip’ komutu nedeniyle çevre değişkenlerinden kaynaklı bir hata ile karşılaşmanız mümkün.

Öncelikle projemiz için yeni bir klasör oluşturalım ve bu klasörün içine gidelim.

mkdir <proje ismi>
cd <proje konumu>

Şimdi adım adım sanal ortam kurma işlemine başlayabiliriz.

1. Virtual environment’ın oluşturulması

Environment’ınız için bir isim belirledikten sonra aşağıdaki komut ile sanal ortamınızı oluşturabilirsiniz.

py -3 -m venv <environment ismi>

2. Virtual environment’ın etkinleştirilmesi

Environment’ınızı kullanabilmeniz için öncesinde etkinleştirmeniz gerekmektedir. Bu koddan sonra artık sanal ortamınızın ismini komut satır arayüzünde göreceksiniz.

<environment ismi>\Scripts\activate

Sanal ortamınızdan çıkmak isterseniz ‘deactivate’ komutunu kullanabilirsiniz.

3. Kullanılacak paketlerin virtual environment’a yüklenmesi

Projeniz için gerekli paketlere karar verdikten sonra aşağıdaki komut ile bu paketleri sanal ortamınıza yükleyebilirsiniz.

pip install <paket ismi>

‘pip list’ komutunu kullanarak yüklenen paketlerin tümüne erişebilirsiniz

4. requirements.txt dosyasının oluşturulması

Virtual environment’a yüklenen paketlerin ve versiyon bilgilerinin bulunduğu bir text dosyası oluşturabilirsiniz. Genelde bu text dosyasına ‘requirements’ ismi verilir. Dosyanın default oluşturulma alanı proje klasörünüzün içidir ama dilerseniz dosya yolu belirterek farklı bir yere de oluşturabilmeniz mümkündür.

pip freeze > <text dosyasının ismi>.txt
requirements.txt örneği

- ‘requirements.txt’ dosyasının oluşturulması neden önemlidir?

Projelerimizi başkalarıyla paylaşmamız durumunda diğer kişinin de projeyi çalıştırabilmesi için gerekli paketleri doğru versiyonları ile yüklemesi kritiktir. Bu noktada kendisi ile requirements.txt dosyası paylaşılmış olan kişinin aşağıda belirtilmiş olan komut ile tüm peketleri tek seferde yüklemesi mümkündür.

pip install -r <text dosyasının ismi>.txt

Aksi takdirde -requirements.txt dosyası paylaşılmaması durumunda- kişinin tüm paketleri tek tek yüklemesi gerekecektir.

- Geliştirilen sanal ortamın jupyter notebook’da kullanımı

Jupyter notebook komutlarını geliştirdiğiniz sanal ortamda çalıştırmak için, kullanabileceğiniz bir kernel oluşturmanız gerekmektedir. Oluşturduğunuz sanal ortamı, aşağıdaki komut ile dilediğiniz notebook’da kullanabilir hale geleceksiniz.

pip install ipykernel
python -m ipykernel install --user --name=<environment ismi>
jupyter notebook ekranı

Environment’ınızın ismini hala kernel’lar arasında göremiyorsanız restart ettiğinizde düzelecektir.

Kullanacağınız sanal ortamı seçtiğinizde artık sağ üstte görebileceksiniz.

Umarım faydalı olabilmişimdir. Bir sonraki yazımda görüşmek üzere 🙂

--

--