Python projelerini yönetmek çoğu zaman bağımlılıklar ve farklı paket sürümleri arasında çatışmalara yol açabilir. Virtualenv’in devreye girdiği yer burasıdır. Virtualenv, kullanıcıların izole Python ortamları oluşturmasına olanak tanıyan, her projenin diğerlerinden bağımsız olarak kendi bağımlılıklarına ve paketlerine sahip olmasını sağlayan bir araçtır. Bu eğitim, Python projeleriniz için temiz ve kontrollü bir çalışma alanı sağlayarak Ubuntu/Debian Linux sistemlerinde virtualenv ortamı oluşturma adımlarında size rehberlik edecektir.
virtualenv’i kurma
Sanal ortamlar oluşturmaya başlamadan önce sisteminizde virtualenv’i kurmanız çok önemlidir. Bu bölümde kurulum süreci ve başlamak için ilk adımlar ele alınacaktır.
- virtualenv’i yükleme: Öncelikle sisteminizde Python’un kurulu olduğundan emin olun. Bu, terminalinizde python –version veya python3 –version çalıştırılarak yapılabilir. Python kurulu değilse Ubuntu’nun paket yöneticisini kullanarak kolayca kurabilirsiniz. Daha sonra aşağıdaki komutları yürüterek virtualenv’i yükleyin:
$ sudo apt update $ sudo apt install python3-virtualenv
Alternatif olarak, eğer pip (Python’un paket yükleyicisi) kuruluysa, pip install virtualenv ile pip kullanarak virtualenv’i kurabilirsiniz. Bu, virtualenv’in son sürümünü kullanmak isteyen kullanıcıların tercih ettiği bir yöntemdir.
- Yeni Bir Sanal Ortam Yaratmak: Virtualenv yüklendiğinde artık yeni bir yalıtılmış ortam oluşturabilirsiniz. Ortamınızın kurulmasını ve çalıştırılmasını istediğiniz dizine gidin:
$ virtualenv MyPythonProject
Burada MyPythonProject sanal ortamınızın adıdır. Buna venv adını vermek yaygın bir gelenektir, ancak tercih ettiğiniz adı seçmekte özgürsünüz. Bu komut, Python çalıştırılabilir dosyalarını ve pip kütüphanesinin bir kopyasını içeren MyPythonProject adında bir dizin oluşturur.
- Sanal Ortamı Etkinleştirme: Sanal ortamı kullanmaya başlamak için onu etkinleştirmeniz gerekir. Ortamın etkinleştirilmesi PATH’inizi geçici olarak ayarlar ve kabuğunuzu ortamın paketlerini ve ayarlarını kullanacak şekilde ayarlar. Aşağıdakileri kullanarak ortamınızı etkinleştirin:
$ source MyPythonProject/bin/activate
Etkinleştirildiğinde, terminal isteminiz büyük olasılıkla etkinleştirilen ortamın adını gösterecek şekilde değişecektir. Bu, çalıştırdığınız tüm Python komutlarının artık ortamın Python yorumlayıcısını ve yapılandırmasını kullanacağını gösterir.
Sanal Ortamı Etkinleştirme
virtualenv’le çalışmak
- Paketleri Yükleme ve Ortamı Test Etme: Ortamınız etkinleştirildiğinde artık Python paketlerini ortamınıza yükleyebilirsiniz. Örneğin, Flask’ı yüklemek için şunu çalıştırmanız yeterlidir:
(MyPythonProject) $ pip install flask
Bu paketler sanal ortamda yerel olacak ve sistem genelindeki Python kurulumunuza veya diğer sanal ortamlara müdahale etmeyecektir.
Paketleri Yükleme ve Ortamı Test Etme Ortamınızın doğru ayarlanıp ayarlanmadığını test etmek için yüklü paketleri içe aktaran bir Python betiği oluşturun ve çalıştırın. Komut dosyası herhangi bir sorun olmadan yürütülürse ortamınız geliştirme için hazırdır.
- Sanal Ortamı Devre Dışı Bırakma: Sanal ortamda çalışmayı tamamladığınızda aşağıdaki komutu çalıştırarak onu devre dışı bırakabilirsiniz:
(MyPythonProject) $ deactivate
Bu, terminal ayarlarınızı normale döndürecek ve sisteminizin varsayılan Python yorumlayıcısını kullanacaktır.
Sanal Ortamı Devre Dışı Bırakma
Çözüm
Virtualenv, birden fazla proje üzerinde çalışan veya Python’un ve paketlerinin farklı sürümlerini yönetmesi gereken Python geliştiricileri için önemli bir araçtır. Bu eğitimde özetlenen adımları takip ederek, Ubuntu/Debian sisteminizde sanal ortam oluşturarak daha organize ve çatışmasız bir geliştirme deneyimine olanak tanıyabilirsiniz. Her ortamın bağımsız olduğunu, dolayısıyla diğer projeleri etkilemeden her projenin kurulumunu gerektiği gibi özelleştirebileceğinizi unutmayın.
Sıkça Sorulan Sorular (SSS)
- virtualenv nedir?Virtualenv, ayrı proje bağımlılıklarına izin veren izole Python ortamları oluşturmaya yönelik bir araçtır.
- Python’da neden virtualenv kullanılmalı??Bağımlılıklarda ve paket sürümlerinde çakışmalar olmadan farklı proje ortamlarının yönetilmesini sağlar.
- Ubuntu/Debian’a virtualenv nasıl kurulur?Sudo apt-get install python3-virtualenv veya pip install virtualenv’i kullanın.
- Virtualenv kullanarak nasıl sanal ortam oluşturabilirim?Proje dizininize gidin ve virtualenv venv’i çalıştırın.
- Sanal ortam nasıl etkinleştirilir?Terminalde venv/bin/activate komut kaynağını kullanın.
- Paketleri sanal ortama yükleyebilir miyim??Evet, o ortamda yerel olacak paketleri kurmak için pip kullanın.
- Sanal ortamda olup olmadığımı nasıl anlarım??Ortam adı için terminal istemini kontrol edin veya echo $VIRTUAL_ENV kullanın.
- Sanal ortam nasıl devre dışı bırakılır?Terminalde devre dışı bırakmayı çalıştırmanız yeterlidir.
- virtualenv hem Python 2 hem de 3 ile çalışıyor mu?Evet, virtualenv hem Python 2’yi hem de Python 3’ü destekliyor ancak Python 2, 2020’de kullanım ömrünün sonuna ulaştı.
- virtualenv’i farklı projeler için kullanabilir miyim?Kesinlikle. Her proje için ayrı bir ortam oluşturulması tavsiye edilir.
- virtualenv sanal ortamlar oluşturmak için tek araç mı??Hayır, pyenv ve venv gibi başka araçlar da var, ancak virtualenv basitliği ve özellikleri nedeniyle yaygın olarak kullanılıyor.
Yazının orijinalini buradan okuyabilirsiniz.

Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım.
Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum.
Son 6 yıldır sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum.
Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.