Yanıtlar:
Ayarlamazsınız PYTHONPATH, girişleri eklersiniz sys.path. Python paketleri için aranması gereken dizinlerin bir listesidir, böylece dizinlerinizi bu listeye ekleyebilirsiniz.
sys.path.append('/path/to/whatever')
Aslında, yol ayırıcı karakterindeki sys.pathdeğeri bölerek başlatılır PYTHONPATH( :Linux benzeri sistemlerde, ;Windows'ta).
Bunu kullanarak dizinleri de ekleyebilirsiniz site.addsitedirve bu yöntem, .pthilettiğiniz dizinlerde bulunan dosyaları da hesaba katacaktır . (Belirttiğiniz dizinlerde durum böyle olmaz PYTHONPATH.)
Ortam değişkenlerini şu yolla alabilir ve ayarlayabilirsiniz os.environ:
import os
user_home = os.environ["HOME"]
os.environ["PYTHONPATH"] = "..."
Ancak tercümanınız zaten çalıştığı için bunun bir etkisi olmayacaktır. Kullanman daha iyi
import sys
sys.path.append("...")
bu, PYTHONPATHyorumlayıcı başlangıcında dönüştürüleceğiniz dizidir .
Kontrolsüz koyarsanız sys.path.append('dir/to/path'), zaten eklenmişse, içinde uzun bir liste oluşturabilirsiniz sys.path. Bunun için şunu tavsiye ederim:
import sys
import os # if you want this directory
try:
sys.path.index('/dir/path') # Or os.getcwd() for this directory
except ValueError:
sys.path.append('/dir/path') # Or os.getcwd() for this directory
PYTHONPATH , çalışma zamanında değiştirebileceğiniz sys.path'de biter .
import sys
sys.path += ["whatever"]
Belirleyebileceğiniz PYTHONPATHtarafından, os.environ['PATHPYTHON']=/some/pathardından aramak gerekir os.system('python')yeni eklenen yolu etkili hale getirmek için piton kabuk yeniden.
os.system()"python kabuğunu yeniden başlatmaz", yeni bir etkileşimli Python örneği başlatır. Bundan geri döndüğünüzde, arama senaryosuna geri dönersiniz.
sys.path.insert(0, '/path/to/whatever').