Ana içeriğe atla

Bir Veri Bilimcinin Ortam Değişkenleri Rehberi

Bir veri bilimci olarak, veri bilimi projeleri için ortam değişkenlerini yerelde ya da bir platform üzerinde, yerel veya genel düzeyde yapılandırmanız gerekebilir. Bu rehber, bilmeniz gereken her şeyi gösterecek!
Güncel 2 Eki 2026  · 9 dk. oku

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

Bir yazılımın sizden PATH değişkeninizi değiştirmek için izin istediğine ya da başka bir programın kurulum talimatlarında gizemli bir şekilde "LD_LIBRARY_PATH değişkeninizi doğru şekilde ayarlamanız" gerektiğinin söylendiğine rastlamış olabilirsiniz.

Bir veri bilimci olarak, hesaplama yığınınızla etkileşim kurarken (özellikle de benim gibi onun üzerinde tam denetime sahip değilseniz) başka ortam değişkeni sorunlarıyla da karşılaşabilirsiniz. Bu yazı, bir ortam değişkeninin ne olduğunu ve veri bilimi bağlamında nasıl kullanıldığını anlaşılır kılmayı amaçlıyor.

Ortam Değişkeni Nedir?

Öncelikle, PATH ortam değişkenini ayrıntılı şekilde ele alarak bir ortam değişkeninin ne olduğunu açıklayayım. Buradaki komutları bash terminalinizde çalıştırmanızı öneririm (uygun düzenlemelerle — ne yaptığımı anlamak için metni okuyun!).

Bilgisayar sisteminize, örneğin yerel bilgisayarınızın terminaline ya da SSH üzerinden uzak sunucunuza giriş yaptığınızda, bash yorumlayıcınızın belirli programları nerede arayacağını bilmesi gerekir; örneğin nano (metin düzenleyici), git (sürüm kontrol yazılımı) ya da Python yürütülebiliri. Bunu PATH değişkeni kontrol eder. Yürütülebilir programlarınızın bulunduğu klasörlerin yollarını belirtir.

Tarihsel olarak, nano, which ve top gibi komut satırı programları /usr/bin dizininde bulunur. (Tarihsel olarak, /bin klasörü yazılım ikililerine ayrılmıştır; bu nedenle /bin olarak adlandırılır.) Bunlar işletim sisteminizle birlikte gelen ve bu nedenle yükseltme için özel izin gerektiren programlardır.

Terminalinizde deneyin:

$ which which
/usr/bin/which
$ which top
/usr/bin/top

Diğer bazı programlar (çeşitli nedenlerle) bunun yerine /bin içine kurulur. ls buna bir örnektir:

$ which ls
/bin/ls

Başka programlar ise başka özel dizinlere kurulmuş olabilir:

$ which nano
/usr/local/bin/nano

Bash terminaliniz arayacağı şeyleri nerede bulacağını nasıl anlıyor? PATH ortam değişkenini kullanıyor. Şuna benzer:

$ echo $PATH
/usr/bin:/bin:/usr/local/bin

PATH değişkeniyle ilgili akılda tutulması gereken en önemli şey, "iki nokta ile ayrılmış" olmasıdır. Yani her dizin yolu bir sonrakinden "iki nokta" (:) karakteriyle ayrılır. Bash terminalinizin programları arama sırası soldan sağadır:

  • /usr/bin
  • /bin
  • /usr/local/bin

Benim bilgisayarımda, ls yazdığımda bash yorumlayıcım önce /usr/bin dizinine bakar. ls'nin /usr/bin içinde olmadığını görür ve bir sonraki dizin olan /bin'e geçer. ls /bin altında bulunduğu için, ls programını oradan çalıştırır.

Görüldüğü gibi, bu durum hesaplama ortamınızı özelleştirmek için son derece esnektir; ancak bir program PATH değişkeninizi sizin bilginiz olmadan değiştirdiyse bir o kadar da can sıkıcı olabilir.

Bir dakika, PATH değişkenini gerçekten değiştirebilir misiniz? Evet, ve bunu yapmanın birkaç yolu var.

PATH değişkeni Nasıl Değiştirilir

Bir Bash Oturumu Kullanarak

İlk yol geçici olup yalnızca içinde bulunduğunuz bash oturumu için geçerlidir. Bir klasöre mevcut yollardan daha yüksek öncelik vermek için onu PATH değişkeninin başına "ekleyebilirsiniz":

$ export PATH=/path/to/my/folder:$PATH
$ echo $PATH
/path/to/my/folder:/usr/bin:/bin:/usr/local/bin

Ya da mevcut yollardan daha düşük öncelik vermek için PATH değişkeninin sonuna "ekleyebilirsiniz":

$ export PATH=$PATH:/path/to/my/folder
$ echo $PATH
/usr/bin:/bin:/usr/local/bin:/path/to/my/folder

Bunun geçici olma nedeni, yalnızca mevcut bash oturumum sırasında export etmemdir.

bashrc veya .bash_profile Dosyası

Değişikliklerimi biraz daha kalıcı yapmak istersem, bunları .bashrc veya .bash_profile dosyamın içine eklerim. (Ben .bashrc dosyasını kullanmayı öneririm.) .bashrc/.bash_profile dosyası ana dizininizde bulunur ($HOME ortam değişkeniniz bunu belirtir) ve bash yorumlayıcınız ilk yüklemede bu dosyayı çalıştırır. İçindeki tüm komutları yürütür. Bu da şu anlama gelir: .bashrc dosyanıza şunları yazarak PATH değişkeninizi değiştirebilirsiniz:

...other stuff above...
# Make /path/to/folder have higher priority
export PATH=/path/to/folder:$PATH

# Make /path/to/other/folder have lower priority
export PATH=$PATH:/path/to/folder
...other stuff below...

Veri Bilimi ve PATH ortam değişkeni

Peki, bu durum veri bilimciler için neden önemlidir? Eğer veri bilimciyseniz, büyük olasılıkla Python kullanıyorsunuzdur ve Python yorumlayıcınız Anaconda Python dağıtımından geliyordur (cidden harika bir şey, mutlaka edinin!). Anaconda Python yükleyicisinin yaptığı şey, PATH ortam değişkeninde /path/to/anaconda/bin klasörüne öncelik vermektir. Sisteminizde başka Python yorumlayıcıları kurulu olabilir (örneğin, Apple kendi sürümünü gönderir). Ancak bu PATH değişikliği, Bash terminalinize her python yazdığınızda, Anaconda Python dağıtımıyla gelen Python yorumlayıcısının çalıştırılmasını sağlar. Benim durumumda, Anaconda Python dağıtımını kurduktan sonra PATH'im şöyle görünüyor:

$ echo $PATH
/Users/ericmjl/anaconda/bin:/usr/bin:/bin:/usr/local/bin

Dahası, conda ortamları, ortam etkinleştirildiğinde conda ortamının ikili dosyalar klasörünün yolunu başa ekler. Örneğin, blogum için lektor adlı bir ortam kullanıyorum. Dolayısıyla...

$ echo $PATH
/Users/ericmjl/anaconda/bin:/usr/bin:/bin:/usr/local/bin
$ which python
/Users/ericmjl/anaconda/bin/python
$ source activate lektor
$ echo $PATH
/Users/ericmjl/anaconda/envs/lektor/bin:/Users/ericmjl/anaconda/bin:/usr/bin:/bin:/usr/local/bin
$ which python
/Users/ericmjl/anaconda/envs/lektor/bin/python

Artık bash terminalinin, daha yüksek öncelikli lektor ortamının içindeki Python'u öncelikli olarak seçtiğine dikkat edin.

Buraya kadar geldiyseniz, burada listelenen birkaç önemli kavramı fark etmiş olmalısınız. Hızlıca özetleyelim:

  • PATH, bash yorumlayıcısının yürütülebilir programları nerede bulacağını anlamak için kullandığı düz metin bir ortam değişkenidir.
  • PATH iki nokta ile ayrılır; daha yüksek öncelikli dizinler dizgenin solunda, daha düşük öncelikliler sağında yer alır.
  • PATH, ortam değişkenine dizinler başa eklenerek ya da sona eklenerek değiştirilebilir. Bu işlem bir bash oturumu içinde komut satırında export komutunu çalıştırarak geçici olarak yapılabilir ya da .bashrc veya .bash_profile dosyanıza bir export satırı ekleyerek oturumlar arasında kalıcı hale getirilebilir.

İlginizi Çekebilecek Diğer Ortam Değişkenleri

Peki, bir veri bilimci başka hangi ortam değişkenleriyle karşılaşabilir? Özellikle sistem yöneticileriniz tatildeyse (ya da yanıt vermeleri çok uzun sürüyorsa) görebileceğiniz ve düzeltmeniz gerekebilecek bazı örnekler şunlardır.

Genel kullanım için, HOME klasörünüzün nerede olduğunu bilmek isteyeceksiniz — Linux sistemlerinde genellikle /home/username, macOS sistemlerinde ise genellikle /Users/username olur. HOME'un ne olduğunu şu şekilde bulabilirsiniz:

$ echo $HOME
/Users/ericmjl

Eğer bir Python kullanıcısıysanız, PYTHONPATH faydalı olabilecek bir değişkendir. Python yorumlayıcısı tarafından kullanılır ve Python modül/paketlerinin nerede bulunacağını belirtir.

C++ kütüphaneleriyle uğraşmanız gerekiyorsa, LD_LIBRARY_PATH ortam değişkeninizi bilmek çok önemli olacaktır. Bu konuda yeterince yetkin değilim; en iyi uygulamalar hakkında daha fazla bilgi için bu web sitesine başvurmanızı öneririm.

Spark ile çalışıyorsanız, PYSPARK_PYTHON ortam değişkeni ilginizi çekecektir. Bu, Spark'a hem sürücü hem de işçiler için hangi Python'un kullanılacağını söyler; gerekirse PYSPARK_DRIVER_PYTHON'ı PYSPARK_PYTHON ortam değişkeninden ayrı olacak şekilde de ayarlayabilirsiniz.

Ortam Değişkenlerinizi Hackleyin

En eğlenceli kısım burada! Ortam değişkenlerinizi hackleyerek yapabileceğiniz bazı şeyler için beni takip edin.

Hack #1: PyPy erişimini etkinleştirin. Zaman zaman PyPy’nin gelişimini takip ediyorum; ancak PyPy henüz varsayılan Python yorumlayıcısı değil ve henüz conda install ile kurulabilir değil. Bu yüzden onu kendi $HOME/pypy/bin dizinine koyuyorum. PyPy yorumlayıcısına erişimi etkinleştirmek için, /path/to/pypy yolumun PATH ortam değişkeninde bulunduğundan, fakat normal CPython yorumlayıcımdan daha düşük öncelikte olduğundan emin olmam gerekiyor.

Hack #2: Diğer dil yorumlayıcılarına/derleyicilerine erişimi etkinleştirin. Bu durum PyPy ile benzerdir. Bir dönem derin öğrenme için Torch kullanmak üzere Lua'nın JIT yorumlayıcısını deniyordum ve .bashrc'me oraya giden bir yol eklemem gerekiyordu.

Hack #3: Python paketlerini ana dizininize kurun. conda ortamları yerine modules sistemi kullanan paylaşımlı Linux hesaplama sistemlerinde, yüklediğiniz bir modulefile, değiştirme iznine sahip olmadığınız bir sanal ortamla yapılandırılmış olabilir. Bir Python paketi kurmanız gerekiyorsa, pip install --user my_pkg_name komutunu kullanmak isteyebilirsiniz. Bu, paketi $HOME/.local/lib/python-[version]/site-packages/ yoluna kuracaktır. Bu durumda, PYTHONPATH'inizin $HOME/.local/lib/python-[version]/site-packages dizinini yeterince yüksek bir öncelikle içerdiğinden emin olmak önemlidir.

Hack 4: Bir şeyler ters gittiğinde hata ayıklama. Bir hata oluşursa ya da beklenmeyen bir davranış görürseniz — benim daha önce başıma gelen, tüm Linux modüllerimi yükledikten sonra Python yorumlayıcımın doğru bulunmamasıydı — o zaman bir hata ayıklama yolu olarak PATH ortam değişkeninizi geçici olarak makul bir "varsayılana" ayarlayıp bunu source ederek PATH değişkeninizi etkili bir şekilde "sıfırlayabilir", ardından hata ayıklarken elle başa/sona ekleme yapabilirsiniz.

Bunu yapmak için, ana dizininizde .path_default adlı bir dosyanın içine aşağıdaki satırları yerleştirin:

export PATH=""  # resets PATH to an empty string.
export PATH=/usr/bin:/bin:/usr/local/bin:$PATH  # this is a sensible default; customize as needed.

Bir şeyler ters gittikten sonra, "source" komutunu kullanarak PATH ortam değişkeninizi sıfırlayabilirsiniz:

$ echo $PATH
/some/complicated/path:/more/complicated/paths:/really/complicated/paths
$ source ~/.path_default
$ echo $PATH
/usr/bin:/bin:/usr/local/bin

Not - Aynı komutları bash oturumunuz içinde doğrudan da çalıştırabilirsiniz; etkileşimli olması da yardımcı olabilir.

Sonuç

Umarım bu yazıyı beğenmişsinizdir ve bu ortam değişkenleriyle karşılaştığınızda size, hımm, yol gösterecektir!

Konular
Veri Bilimi
İlgili

{count, plural, one {blog} other {blog}}

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

{count, plural, one {blog} other {blog}}

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

{count, plural, one {Eğitim} other {Eğitim}}

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

{count, plural, one {Eğitim} other {Eğitim}}

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

Devamını GörDevamını Gör