Tüm sistemlerin aynı python kurulumuna sahip olmasını ve yapılandırma sorunlarını kolaylaştırmasını sağlamak için tüm sistemlerimiz için ortak bir python kurulumuna sahibiz. Bu yükleme, paylaşılan bir sürücüde bulunur. Bu yüklemeyi paylaşan birden fazla platformumuz da var. Python'u derlerken, --exec-prefix configure seçeneğini ayarlayarak, platforma özgü platformlara özgü dosyaları ele geçiriyoruz.Tek bir yerde birden çok platform için python yumurtaları ile nasıl baş edebilirim?
Sorunum şu anda, platforma bağlı olan easy_install (veya başka bir şekilde) kullanarak bir yumurtayı yüklemek istiyorum. easy_install, yumurtayı, platformun platformun bağımsız kısmının site paketleri dizinine koyar. Yumurtanın adı, içinde platform var, bu yüzden çatışma olmamalı. Ancak python sadece bulduğu ilk şeyi yükler. (Yani, Solaris üzerinde Linux yumurtalarını yüklemeye çalışabilir). Easy-install.pth dosyasını değiştirmek, hangisini bulduğunu değiştirebilir, ancak bu oldukça işe yaramaz.
.egg dosyalarını platforma bağlı paketler dizinine taşıyabilir ve daha sonra bunları yüklemek için pkg_resources.require() yöntemini kullanabilirim (veya yolu el ile ayarlama). Ama sanki platformun yumurtadan beri olması gerekmiyormuş gibi görünüyor.
Python'un yumurtayı doğru platform için yüklemesini sağlayabileceğinden daha genel bir yolu var mı?
Yumurta C uzantıları içeriyor mu, yoksa saf python mu? – codeape
Evet, bir C uzantısı var. Aksi takdirde bu farketmez çünkü kod platforma bağlı olmaz. Özellikle merak ettiğiniz takdirde PyPerforce modülü. – Philbert