Python virtual environment (venv)
Python librarie’lerini pip ile kuruyoruz. Librarie kurarken pip, python‘ın kurulu olduğu environment‘a kurulum yapıyor. Dolayısı ile projeler birbirini etkileyebiliyor. Projelerin taşınılabilirliğini de etkiliyor. Projeyi taşıdığınızda bir sürü kurulum yapmanız gerekiyor. Bu sorunun çözümü için virtual environment‘ı kullanıyoruz. Her projenin kendi environment‘ı kendi içerisinde oluyor.
virtual environment‘ı kurmak için projenizin yer alacağı path’de
python3 -m venv venv
Kodunu çalıştırın. İçinde Python‘a ait dosyaların olduğu, venv isminde bir klasör oluştuğunu göreceksiniz. virtual environment‘a geçiş yapmak için aşağıdaki kodu çalıştırın.
source venv/bin/activate
Artık pip ile kuracağınız librarie’ler venv dosyası içerisine kurulacak. virtual environment‘an çıkmak için terminalde
deactivate
Kodunu çalıştırabilirsiniz. virtual environment‘a geçiş yaptıktan sonra test etmek için herhangi bir librarie kurabilirsiniz. Test için pyMysql’i kurun.
python -m pip install pymysql
Kurulum tamamlandıktan sonra venv/lib/python3.6/site-packages/
path’i içinde pyMysql‘e ait dosyaları görmelisiniz. Projenizi Git’e yüklerken ve/veya başka sistemlere taşırken venv klasörünü almanıza gerek yok.
requirements
kurulumunu yaptığınız tüm librarie’leri requirements.txt‘ye atarak push edebilirsiniz. Aslında requirements.txt projenizin ihtiyaç duyduğu librarie’leri listeler. pulling yapan kişi requirements.txt‘yi kullanarak tüm kurulumu bir defada yapabilir. Bu işlem için ilk önce venv‘de kurulu olan librarie’leri requirements.txt‘ye almak gerek.
pip freeze > requirements.txt
Kodunu çalıştırdığınızda requirements.txt dosyasının oluştuğunu göreceksiniz. requirements dosyasının içeriği aşağıdaki gibi olacaktır.
pkg-resources==0.0.0 PyMySQL==0.9.3
Pulling yaptıktan sonra requirements içindeki librarie’leri kurmak için venv içindeyken aşağıdaki kodunu çalıştırmanız yeterli olacaktır.
pip install -r requirements.txt
Geçmiş olsun 🙂 umarım işinize yaramıştır.