Sanal Ortam (Virtual Environment) ve Bağımlılık Yönetimi (Dependency Management)

Seda Kayademir
2 min readMay 21, 2021

--

Sanal Ortam (Virtual Environment) Nedir?

Sanal ortam, farklı projelerin gerektirdiği bağımlılıkları, onlar için izole edilmiş python sanal ortamları oluşturarak ayrı tutmaya yardımcı olan bir araçtır.

Neden Böyle Bir Yapıya İhtiyaç Duyuyoruz?

Bir proje oluştururken bir çok kütüphane kullanmaktayız. Bu kütüphaneler düzenli olarak güncellenmektedir, güncellemeler ile birlikte yeni özellikler ekleniyorken daha önceki sürümde bulunan bazı özelliklerde kaldırılabilir eğer biz projemizde kaldırılan özelliklerden birini kullanıyorsak güncellemeden sonra proje çalışma aksaklıklarına uğrayacaktır. Çalışma aksaklıklarına sebep vermek için her proje için projenin gereksinimlerini içeren izole sanal ortamlar oluşturmamız gerekir.

Sanal Ortam Oluşturma ve Yönetim Araçları

  • venv (Part of the standard library)
  • virtualenv (Widely-used)
  • pipenv (High-level interface)
  • conda (Not only for Python)

Bağımlılık(Paket) Yönetimi (Dependency Management) Nedir?

Kütüphanelerin bağımlılıklarını yöneten araçtır.

Kütühanelerin Bağımlılığı Nedir?

Bir kütüphane çalışırken başka bir kütüphaneye ihtiyaç duyabilir. Örneğin Pandas çalışırken arka planda Numpy kütüphanesi kullanır biz Pandas’ı kullanmak istediğimizde sadece Pandas’ı sanal ortamımıza yüklersek çalışma sırasında Numpy’ı bulamadğına dair hata alırız. Paket yönetim aracı arka planda çalışır ve biz Pandas’ı yüklerken, Pandas’ın ihtiyaç duyduğu diğer kütüphaneleride yükler.

Paket Yönetim Araçları

  • pip (requirements.txt)
  • pipenv (Pipfile)
  • conda (environment.yml)

Sanal Ortam ile Paket Yönetimi Arasındaki İlişki Nedir?

venv ve virtualenv araçları paket yönetimi için pip paket yönetimi aracını kullanır. conda ve pipenv ise hem sanal ortam oluştmak için hemde paket yönetimi için kullanılabilir.

conda: paket ve venv yönetim aracı (anaconda repository)

Sanal Ortam Oluşturma

Sanal Ortamı Aktive Etme, Devre Dışı Bırakma, Listeleme ve Silme

Paket Yükleme, Güncelleme, Arama, Silme ve Listeleme

Paketleri Export ve Import Etme

Kaynaklar

https://www.geeksforgeeks.org/python-virtual-environment/#:~:text=A virtual environment is a,of the Python developers use

Sign up to discover human stories that deepen your understanding of the world.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

Seda Kayademir
Seda Kayademir

No responses yet

Write a response