Mamy wspólną instalację pythona dla wszystkich naszych systemów, aby zapewnić, że każdy system ma tę samą instalację pythona i ułatwia problemy konfiguracyjne. Ta instalacja znajduje się na współużytkowanym dysku. Mamy także wiele platform, które współużytkują tę instalację. Występują konflikty między plikami specyficznymi dla platformy, ustawiając opcję --exec-prefix configure podczas kompilowania Pythona.W jaki sposób radzić sobie z jajami Pythona dla wielu platform w jednym miejscu?
Moim problemem jest to, że chcę teraz zainstalować jajko za pomocą easy_install (lub w inny sposób) zależnego od platformy. easy_install umieszcza jajko w katalogu site-packages niezależnej od platformy części instalacji. Nazwa jaja zawiera platformę, więc nie powinno być żadnych konfliktów. Ale python załaduje tylko pierwszą znalezioną. (W systemie Solaris może więc spróbować załadować jądro Linuxa). Modyfikowanie pliku easy-install.pth może zmienić to, co znajdzie, ale to całkiem bezużyteczne.
Mogę przenieść pliki .egg do katalogu pakietów zależnego od paczek, a następnie użyć pkg_resources.require() w celu ich załadowania (lub ręcznego dostosowania ścieżki). Ale wydaje się, że nie powinienem, ponieważ platforma jest w nazwie jaja.
Czy jest jakiś ogólny sposób, w jaki sposób mogę zapewnić, że Python załaduje jaj na właściwą platformę?
Czy jajko zawiera rozszerzenia C, czy jest to czysty pyton? – codeape
Tak, istnieje rozszerzenie C. W przeciwnym razie nie miałoby to znaczenia, ponieważ kod nie byłby zależny od platformy. W szczególności jest to moduł PyPerforce, na wypadek, gdybyś był ciekawy. – Philbert