VS Code Python Environments Nisan Güncellemesi: Hız Farkı
Geçen hafta bir müşteride Remote-SSH ile çalışırken, VS Code’un Python ortam keşfi tam 45 saniye sürdü. Adam bana döndü, “Aşkın bir düşüneyim… bey, bu IDE mi yoksa Windows Update mi?” dedi. Gülsem mi ağlasam mı bilemedim. Bir bakıma, tam da öyle.
📋 İçindekiler
-
Bunu 2023’te kendi başıma çözmüştüm aslında; PowerShell profilime
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypasssatırını eklemiştim. Fena değil, iş görüyordu, fakat yeni bir geliştirici için bu hata gerçekten kafa karıştırıcıydı. İyi ki bunu otomatik hâle getirmişler.Türkiye’deki Ekipler İçin Pratik Değerlendirme
Şimdi asıl söylemek istediğim yere gelelim. Türkiye’deki yazılım ekiplerinde VS Code kullanımı son 3-4 yılda baya arttı, bunu sahada da net görüyorum; özellikle veri bilimi tarafında ve backend Python ekiplerinde neredeyse varsayılan hâle geldi, ama iş ortam yönetimine gelince işler biraz dağılıyor.
İşin garip tarafı şu: ekipler hâlâ “herkes kendi bildiği gibi yapsın” modunda ilerliyor. Birisi
venvkullanıyor, diğericonda, üçüncüsüpoetry… Aynı projede. Bak şimdi, burada sorun araç değil; asıl mesele tutarlılık eksikliği,. Ekip büyüdükçe bu küçük farklar bir anda uğraştırıcı hâle geliyor.Bakın, burayı atlarsanız yazının kalanı anlamsız kalır.
Bu güncellemeyle birlikte benim önerim net: eğer küçük bir ekipseniz ya da startup’ta çalışıyorsanız,
venv + uvkombinasyonuna geçin.uvzaten hızlı, bu eklenti de artıkvenv‘e öncelik veriyor, yanı fazladan manager yüküyle uğraşmıyorsunuz; tarama süresi de minimumda kalıyor, açık konuşayım baya iş görüyor.Büyük kurumsal yapılarda işe tablo biraz değişiyor. Mesela 50+ kişilik bir geliştirme ekibi varsa, monorepo yapısı kullanıyorsanız ya da
Remote-SSHile çalışıyorsanız, o zamanpython-envs.workspaceSearchPathsayarını genelde özelleştirin; varsayılan değer çoğu senaryoda idare eder. Derin dizin yapılarında eksik kalabiliyor, sonra da “neden ortamı bulmadı?” diye bakıp duruyorsunuz. Daha fazla bilgi içinAçık konuşayım, Peki neden? Çünkü aynı proje içinde üç farklı ortam yaklaşımı olunca, destek vermek de kodu taşımak da gereksiz yere uzuyor. Hani bazen küçük bir ayar yüzünden yarım gün gidiyor ya, işte tam o dertten bahsediyorum.
Neyse, çok dağıtmadan söyleyeyim: doğru araç seçimi kadar doğru varsayılanlar da fark yaratıyor. Sız ne dersiniz?
Eksik Kalan Ne? Biraz da Eleştirelim
Her şey güllük gülistanlık mı? Değil. Birkaç şey hâlâ eksik, açık konuşayım.
İlk mesele uv desteği. Son bir yılda baya popüler öldü ama eklentideki entegrasyon, conda ya da venv kadar derin değil; mesela geçen ay kendi projemde uv ile kurulmuş ortamı otomatik bulamadı, ben de interpreter path’i elle gösterdim. Kağıt üstünde var, pratikte işe biraz daha pişmesi gerekiyor.
İkincisi, multi-root workspace tarafı hâlâ biraz karışık. Terminal açarken hangi projeyi seçmek istediğinizi soruyor, tamam güzel, ama ortam listesi yine tek yerde toplanıyor; 5-6 proje olan bir workspace’te hangi ortamın kime ait olduğunu anlamak, şey, düşündüğünüzden zor olabiliyor.
Şahsen, Üçüncü konu da benim kişisel can sıkıntım: hâlâ bir “ortam sağlık kontrolü” yok. Yanı “bu ortamdaki paketler requirements.txt ile uyumlu mu?” diye basit bir bakış atamıyoruz; bunu hâlâ elle yapıyoruz ya da
pip checkile dönüyoruz. Belki sonraki sürümlerde gelir, kim bilir.Azure üzerinde çalışan ekipler için bu tarz geliştirme ortamı iyileştirmeleri gerçekten iş görüyor. Eğer CI/CD tarafında da ufak ama etkili dokunuşlar arıyorsanız, Azure DevOps Git Policy Yönetimi: 10x Hız Kazanmanın Yolu yazıma da göz atın derim.
İlk Adım Olarak Ne Yapmalısınız?
Tamam, güncellemeyi beğendiniz diyelim. Peki şimdi ne olacak? Hani işin kritik kısmı var ya, asıl oraya geliyoruz.
- VS Code’da Python Environments eklentisini güncelleyin (auto-update açıksa zaten kendi kendine gelmiş olabilir, ona da bakın).
settings.json‘ınızı açıp kontrol edin — eskipython.venvPathya dapython.condaPathayarları duruyorsa, yeni eklentiyle çakışabiliyor, o yüzden temizlemek iyi olur.- Eğer monorepo kullanıyorsanız veya dizin yapınız biraz derinse,
python-envs.workspaceSearchPathsayarını elle düzenleyin; yoksa eklenti bazen saçma sapan yerde arama yapıyor. - Remote-SSH ile bağlanıyorsanız, uzak taraftaki eklentinin de güncel olduğuna bakın — lokal taraf yeni sürümde kalır, remote taraf eskiyse insan boşuna uğraşıyor.
- PowerShell kullanıyorsanız ve daha önce aktivasyon derdi yaşadıysanız, profil dosyasına eklenmiş eski execution policy satırlarını kaldırabilirsiniz. Evet, çoğu zaman artık gerekmiyor.
Bak şimdi, Konteyner tabanlı geliştirme yapıyorsanız, azure container apps türkçe başlangıç rehberi: Adım Adım Kurulum yazısı da işinize yarayabilir. Bir göz atın derim.
Geliştirici deneyimi sadece kod yazma hızına bakılarak ölçülmüyor. IDE’nın sizi ne kadar az beklettiği, ne kadar az ters köşe yaptığı da en az onun kadar önemli. Bu güncelleme tam da oraya dokunuyor.
💡 Bilgi: Python Environments eklentisi, eski “Python” eklentisindeki ortam yönetimi özelliklerinin ayrıştırılmış ve geliştirilmiş hali. Eğer hâlâ eski eklentiyi kullanıyorsanız, geçiş yapmanız önerilir — yeni eklenti hem daha hafif hem de daha hızlı.Sıkça Sorulan Sorular
Python Environments eklentisi eski Python eklentisinin yerini mi alıyor?
Şunu fark ettim: Tam olarak değil, yanı ortam yönetimi kısmını devraldı. Linting, debugging gibi şeyler hâlâ ana Python eklentisinde yaşıyor. İkisi birlikte çalışıyor aslında. Ortam keşfi ve interpreter seçimi artık Python Environments tarafından yönetiliyor.
Remote-SSH üzerinde başlangıç hızı gerçekten iyileşti mi?
Evet! En çok da workspace tarama deseninin daraltılmasıyla epey fark yarattı. Büyük projelerde mesela 30+ saniyeden 3-8 saniyeye düşen senaryolar var. Bence bu oldukça ciddi bir iyileşme — tabiî her şey proje yapınıza ve ağ hızınıza bağlı, mucize beklemeyin. Ama fark büyük ihtimalle hissedilir.
Şimdi gelelim işin can alıcı noktasına.
uv ile oluşturulmuş ortamları otomatik buluyor mu?
Büyük ölçüde evet. uv’nın oluşturduğu
.venvklasörünü tanıyor, ama açıkçası tam entegrasyon henüz tam anlamıyla olgunlaşmadı. Bazı edge case’lerde manuel path gösterimi gerekebiliyor. Gelecek güncellemelerde daha iyi olmasını bekliyorum.PowerShell execution policy sorunu tamamen çözüldü mü?
Artık process-scoped bir policy ayarlıyor, yanı sistem genelindeki ayarınıza dokunmuyor — bu çoğu durumda yeterli oluyor. Ama hani şirket group policy’siyle PowerShell tamamen kilitlenmişse, o durumda IT ekibinizle konuşmaktan başka çare yok.
Conda ve venv ortamlarını aynı projede kullanabilir mıyım?
Neyse, şunu fark ettim: Teknik olarak kullanabilirsiniz, ama tecrübeme göre bunu önermiyorum. Karışıklığa yol açıyor ve eklenti de bazen hangisini önceliklendireceği konusunda kararsız kalabiliyor. Bir proje için tek bir ortam aracı seçin ve ona sadık kalın, çok daha rahat edersiniz.
Kaynaklar ve İleri Okuma
Python Environments Extension for VS Code — April 2026 Release (Resmî Blog Yazısı)
Ebru G.
Remote-SSH üzerinden çalışırken ortam keşfinin ne kadar yavaş olduğunu bizzat yaşadım, lazy discovery yaklaşımı gerçekten mantıklı bir çözüm. Bakalım pratikte söylediği kadar hız farkı yaratıyor mu. Bu arada uzak ortamlarda çalışmayı seviyorsanız şu yazı da ilginizi çekebilir: Adım Adım Kurulum — https://www.askinkilic.com.tr/azure-container-apps-turkce-baslangic-rehberi-adim-adim-kuru/
Serkan D.
Remote-SSH üzerinde çalışırken ortam keşfinin ne kadar yavaş olduğunu bizzat yaşadım, lazy discovery tam da ihtiyaç duyulan şeydi. Bakalım pratikte gerçekten fark yaratıyor mu, bu hafta test edeceğim.
Ayşe T.
Remote-SSH üzerinde çalışırken ortam keşfinin ne kadar yavaş olduğunu bizzat yaşadım, bu güncelleme gerçekten iyi haber. Lazy discovery yaklaşımının pratikte ne kadar fark yarattığını merak ediyorum, deneyen oldu mu?
Uğur H.
Remote-SSH üzerinde çalışırken ortam keşfinin ne kadar yavaş olduğunu bizzat yaşadım, lazy discovery gerçekten mantıklı bir yaklaşım. Bakalım pratikte ne kadar fark yaratacak. Bu arada sitede farklı bir konuya geçeyim derken şu yazıya denk geldim, güzel bir rehber olmuş: .NET 10’da API Versiyonlama ve OpenAPI Entegrasyonu: Pratik Rehber — https://www.askinkilic.com.tr/net-10da-api-versiyonlama-ve-openapi-entegrasyonu-pratik-reh/
Yorumlar kapalı.







4 comments