Ana içeriğe atla

Python Virtual Environment Nedir?

Meşe Bilişim şirketinde Software Testing dersi süresince kullanacağımız araçlardan birisi olan Virtual Environment nedir, neden ihtiyaç duyuyoruz kısaca bu yazı ile bahsetmek istedim.

Python Virtual Environment; Türkçe ismi ile Sanal Ortam. Peki sanal ortamlara neden ihtiyaç duyuyoruz, bu araç hangi sorunun çözümü yazının geri kalanında bu soruya kapsamlı olmasa da yanıt vereceğiz.

Meşe Bilişim şirket kurucusu Şahin Mersin tarafından 2.hafta dersinde anlatılan Django kurulumu öncesinde bilmemiz gereken bir araç olan Sanal Ortam; birden fazla Python projelerinde olabilecek paket çakışmalarını önlemek amacı ile kullanılmaktadır.

Örnek vermek gerekirse; derste geliştirmekte olduğumuz blog uygulaması için Django 1.9 sürümünü kullanıyoruz. Fakat Django 2.0.2 sürümü yayınlandı. Sanal ortam aracılığıyla "blog" uygulamamızda Django 1.9 sürümünü kullanırken başka bir projede Django 2.0.2 yada farklı bir sürüm kullanabiliriz.


Sanal ortam sayesinde bir birinden ayrı projeler için yüklediğimiz yada sildiğimiz paketler, paket sürümleri birbirini etkilemez. Bu sayede projelerimizin yönetimi de bizim için daha kolay hale gelmektedir.

Virtual Environment kurulumu

python3 -m venv myvenv

Proje dizininde yukarıdaki komutu işlettiğinizde sanal ortamınız oluşacaktır. Oluşan sanal ortamın ismi de "myvenv" olacaktır. Burada dilediğiniz gibi isimlendirme yapabilirsiniz.

Terminal üzerinden verdiğimiz komut sonrasında sanal ortamımız oluştu fakat şu anda aktif değil kullanım için aktif etmemiz gerekmektedir.

cd myvenv/bin

source activate

Yukarıdaki komutları terminal aracılığıyla işlettiğimizde artık sanal ortamımız aktif ve bu proje için kullanacağımız web çatısı paket ve modüllerin sürümü sadece bu ortamımız için geçerli olacak. Oluşturulan bu izole ortam sayesinde tüm projelerimiz birbirinden ayrı şekilde karışıklık olmadan yönetilebilir hale getirdik.

Daha fazlası için; https://docs.python.org/3/tutorial/venv.html


Yorumlar

Bu blogdaki popüler yayınlar

Meşe Bilişim Software Testing Dersi

Manisa Celal Bayar Üniversitesi Bilgisayar Mühendisliği Bölümü ile bazı özel ve kamu kurumları ortaklığında gerçekleştirilen Software Testing Dersi dahilinde bugün Meşe Bilişim şirketinde şirket kurucusu Şahin Mersin ile ilk dersimizi gerçekleştirdik.

Üniversitenin Bilgisayar Mühendisliği bölümünde okuyan 3 veya 4'üncü sınıf öğrencileri tarafından tercih edilebilen Software Testing dersi intörn eğitim modelini temelinde barındıran bir ders ve bence öğrenciler için müthiş bir fırsat.

Manisa Teknokent içerisinde yer alan Meşe Bilişim şirketinde bir dönem süresince Software Testing dersini almaya devam edeceğiz. Şirket benimle birlikte 10 kişilik bir öğrenci kadrosuna bu dönem ev sahipliği yapacak.

Dersin ilk gününde Meşe Bilişim şirket kurucusu Şahin Mersin, biz öğrencilerine dönem süresince ders dahilinde yapacaklarımızdan bahsetti. Yaklaşık 5 farklı projeden söz eden Şahin Bey'in açık kaynaklı projelere katkıda bulunmak hedefi açıkcası beni etkiledi. Bu doğrultuda, ürettiğimiz…

Mqtt Nedir?

Message Queuing Telemetry Transport (MQTT) kelimelerinin baş harfleri ile tanıdığımız bu teknoloji mesajın karşı tarafa ulaştırılması için kullanılan haberleşme protokolüdür.  Haberleşme için mesaj yayınlayan, mesaja abone olan ve mesaj trafiğini kontrol eden yöneticiden oluşmaktadır. Mesaj trafiğini kontrol eden yöneticiye BROKER, mesaj yayınına PUBLISH ve aboneye SUBSCRIBE denir. Mesaj alışverişi publisher dan subscriber lara doğru yani yayıncılardan abonelere doğru olmaktadır. MQTT de asenkron haberleşme protokolü kullanılmaktadır. Mesaj yayıncıları ve mesaj alıcılar arasında eşzamansız olarak veri taşınmaktadır. Diğer haberleşme yapılarına göre basit oluşu ve minimum kaynak tüketmesi sebebiyle “machine-to-machine” (M2M)  makineden makineye veri iletiminde ve (IOT) “Internet of Things” İnternete bağlı nesnelerin mesajlaşmasında tercih edilmektedir.   MQTT IBM de çalışan Dr Andy Stanford-Clark ve Arcom da çalışan Arlen Nipper (şu an Eurotech) tarafından 1999 yılında oluşturulmuştur…

Meşe Bilişim Logolar