Kiedy spotykam się z podobnymi sytuacjami, generalnie unikam menedżera pakietów, zwłaszcza jeśli byłoby krępujące zepsuć coś, np. Serwer produkcyjny. Zamiast tego poszedłbym do Activestate i pobrałbym ich pakiet binarny:
https://www.activestate.com/activepython/downloads/
Jest to instalowane przez uruchomienie skryptu, który umieszcza wszystko w folderze i nie dotyka żadnych plików systemowych. W rzeczywistości nie potrzebujesz nawet uprawnień roota, aby go skonfigurować. Następnie zmieniam nazwę pliku binarnego na coś takiego jak apy26, dodaję ten folder na koniec PATH i zaczynam kodowanie. Jeśli instalujesz pakiety z apy26 setup.py install
lub używasz virtualenv i easyinstall, masz tak elastyczne środowisko Pythona, jak potrzebujesz, bez dotykania standardowego systemu python.
Edycje ... Ostatnio wykonałem trochę pracy, aby zbudować przenośny plik binarny Pythona dla Linuksa, który powinien działać na dowolnej dystrybucji bez zewnętrznych zależności. Oznacza to, że wszelkie binarne biblioteki współdzielone wymagane przez przenośny moduł Pythona są częścią kompilacji, są zawarte w paczce i są instalowane w prywatnej strukturze katalogów Pythona. W ten sposób możesz zainstalować Python dla swojej aplikacji bez ingerencji w system zainstalowany w Pythonie.
Moja witryna github zawiera skrypt kompilacji, który został dokładnie przetestowany na Ubuntu Lucid 10.04 LTS, zarówno w instalacjach 32, jak i 64-bitowych. Zbudowałem go również na Debianie Etch, ale to było jakiś czas temu i nie mogę zagwarantować, że niczego nie zmieniłem. Najłatwiejszym sposobem jest po prostu umieszczenie wybranego Ubuntu Lucid na maszynie wirtualnej, pobranie skryptu za pomocą, git clone git://github.com/wavetossed/pybuild.git
a następnie uruchomienie skryptu.
Gdy już go zbudujesz, użyj archiwum tar w dowolnej ostatniej dystrybucji Linuksa. Jest jeden mały problem z przenoszeniem go do katalogu innego niż /data1/packages/python272
ten, że musisz uruchomić dołączony, patchelf
aby ustawić ścieżkę interpretera PRZED przeniesieniem katalogu. Dotyczy to wszystkich plików binarnych w/data1/packages/python272/bin
Wszystko to opiera się na budowaniu z RUNPATH i kopiowaniu zależnych bibliotek współdzielonych. Mimo że skrypt znajduje się w kilku plikach, jest to właściwie jeden długi skrypt powłoki ułożony w stylu katalogów /etc/rc.d.