Ubuntu 14.4 jest wyposażony we wbudowany Python 2.7.6, ale chciałbym go zaktualizować do wersji 2.7.9 (ma funkcje bezpieczeństwa, których chcę).
Czy to w ogóle możliwe? Jeśli tak, jak można to osiągnąć?
Ubuntu 14.4 jest wyposażony we wbudowany Python 2.7.6, ale chciałbym go zaktualizować do wersji 2.7.9 (ma funkcje bezpieczeństwa, których chcę).
Czy to w ogóle możliwe? Jeśli tak, jak można to osiągnąć?
Odpowiedzi:
Możesz użyć pyenv:
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
git clone https://github.com/pyenv/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
Następnie dodaj
# for PyEnv
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$HOME/.pyenv/bin:$PATH"
export PATH="$HOME/.pyenv/shims:$PATH"
eval "$(pyenv init -)"
do .bash_profile, wtedy możesz zobaczyć wersję Pythona, którą chcesz zainstalować lub zaktualizować:
pyenv install --list
chcesz python 2.7.10? możesz spróbować:
pyenv virtualenv 2.7.10
Mam nadzieję, że może ci to pomóc.
ppa: fkrull / deadsnakes to najnowsza wersja python2.7
sudo add-apt-repository ppa:fkrull/deadsnakes
sudo apt-get update
sudo apt-get upgrade
Uaktualni Python do wersji 2.7.10
Nie jestem fanem poprzednich odpowiedzi sugerujących instalację z różnych umów PPA. Nie zamierzano braku szacunku, ale nie znam ludzi, którzy je zbudowali i nie mam pojęcia, co może tam być. W każdym środowisku, w którym ktoś musi odpowiedzieć pracownikowi ochrony, taka praktyka byłaby niezadowolona.
Właśnie odkryłem, że pobranie 2.7.9 ze źródła i instalacja go obok siebie to dobry początek. Ten niesamowity post na blogu opisał kolejne kroki. (odtworzono tutaj, aby zachować zgodność z wytycznymi dotyczącymi przepełnienia stosu)
wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
tar xfz Python-2.7.9.tgz
cd Python-2.7.9/
./configure --prefix /usr/local/lib/python2.7.9
make
make install
Sprawdź, czy wersja działa
/usr/local/lib/python2.7.9/bin/python -V
Python 2.7.9
Teraz, gdy mam zainstalowaną wersję 2.7.9, mogę zadzwonić bezpośrednio lub dowiązać do niej z dowolnego miejsca. (lub skopiuj go do virtualenv itp.)
I zauważ, że przybyłem tutaj z sytuacji, w której otrzymywałem niebezpieczne ostrzeżenia na platformie i brakujące ostrzeżenia SNI. Co mnie tu doprowadziło . Wyobrażam sobie, że wiele osób znajduje to pytanie na tej samej ścieżce. A jeśli właśnie dlatego tu jesteś, ten fragment może ci się przydać
pip install urllib3[secure]
virtualenv
. Powód uważam, że tak jest lepiej, ponieważ nie polega on na aplikacjach ani repozytoriach stron trzecich, które mogłyby uszkodzić coś innego.
Oto nowe uaktualnione repozytorium strony trzeciej:
sudo add-apt-repository ppa:jonathonf/python-2.7
sudo apt-get update
sudo apt-get install python2.7
python --version
Wersja, którą chcesz, jest już w Ubuntu, w wersji Vivid (wcześniejszej). Jeśli jesteś odważny, możesz mieszać wersje i instalować wersję Pythona Vivid pod Trusty. Poniżej znajduje się ogólne rozwiązanie, które działa na niektórych pakietach, nie mogę tego zagwarantować w Pythonie. Szanse wynoszą ~ 50/50, że się uda. Jeśli jednak znajdziesz odpowiednie repozytorium backportów dla 14.04 z wymaganą wersją pakietu, to powinien być lepszym wyborem.
Masz w swoim wierszu „... zaufaną linię główną” /etc/apt/sources.list
, skopiuj ją dwukrotnie, zmieniając „wierną” na „utopiczną” i „żywą”.
Uruchom apt-get update
i wtedy apt-get -t vivid install python2.7
. Przejrzyj zależności zainstalowane przed kontynuowaniem. Przerwij aktualizację, jeśli podejrzewasz uszkodzenie systemu (usunięte ważne pakiety itp.).
Usuń lub zaszyfruj dwie linie z /etc/apt/sources.list
.
Nigdy nie rób tego na maszynach produkcyjnych. Wykonaj kopię zapasową systemu operacyjnego i przygotuj nośnik rozruchowy, aby go przywrócić w razie potrzeby. Spodziewaj się problemów z aktualizacjami. Zostałeś ostrzeżony.