Bazı paketleri üçüncü tarafa site-packages
dizinine (standart sistem konumlarının ötesinde) yüklemek istiyorum. Bunu, buradaki .pth dosyalarına saygı duyulacak şekilde ayarlamanın herhangi bir yolu var mı?İkincil bir site paketleri dizini oluşturma (ve burada .pth dosyalarından yükleme paketleri)
Arka plan: OS X, virtualenv ve homebrew kullanıyorum. Pipodan sanallaştırmaya güzelce yüklenmeyen birkaç paket (benim durumumda wxPython) var. Bu durumlarda, onların yerine çalışan homebrew paketleri vardır. Homebrew, /usr/local/lib/python2.7
numaralı telefondan üçüncü bir site paketleri klasörü oluşturur. Sadece bu klasöre işaret etmek ve brew
'un kontrolü altındaki tüm parçaların bakımını bırakmak istiyorum. Ancak, bu mümkün değil gibi görünüyor.
$PYTHONPATH
yoluyla yola eklenmesi .pth dosyalarını yüklemiyor. (Should Python 2.6 on OS X deal with multiple easy-install.pth files in $PYTHONPATH?)- Python .pth dosyalarının yuvalanmasına veya yinelemeli kullanımına izin vermez. (Nested .pth Files or Loading Extra site-dirs from a Network)
- virtualenv
add2virtualenv
için sarmalayıcı, yalnızca listelenen dizininin ötesinde .pth dosyasına bazı ekstra akıllı ekler, ancak yalnızca yol listesini yeniden düzenlediğine inanıyorum.
Bu konuyla ilgilenen kesinlikle tek kişi değilim. Çok fazla karşılaştığım jenerik 'pth dosyaları çalışmıyor' soruları ve çevrimiçi olarak tökezlediğim mesajlar bu konuyla ilgili. İyi bir çözüm var mı?
sitecustomize.py mı var içeride
.pth
dosyalar yerleştirebilir veya otomatik olarak başlangıçta çalıştırmak olsun usercustomize.py olabilir? Düzenleme: [evet, evet yaparlar] (http://docs.python.org/library/site.html). Teşekkürler! –@MattB. Evet, cevabımı bazı ek bilgilerle düzenledim. Dokümantasyon, cevabımda bağlantı kurduğum site modülü sayfasının üst kısmından geliyor. –
Hala nasıl çalıştığını tam olarak anlayamıyorum, ama: (1) addsitedir ('/ usr/local'), yani alternatif önek (ama benim için çalışmaz), veya (2) addsitedir ('/ usr/local/lib/python2.7/site-packages') ekleme yolu, ve ikinci durumda, neden sadece PYTHONPATH'a eklemiyorsunuz? –