Ubuntu 14.4 comes with Python 2.7.6 built-in, but I'd like to upgrade it to 2.7.9 (it has security features that I want).
Is that even possible? If so, how can this be achieved?
Server Fault is a question and answer site for system and network administrators. It only takes a minute to sign up.Sign up to join this community
You can use pyenv:
git clone https://github.com/pyenv/pyenv.git ~/.pyenv git clone https://github.com/pyenv/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
# for PyEnv export PYENV_ROOT="$HOME/.pyenv" export PATH="$HOME/.pyenv/bin:$PATH" export PATH="$HOME/.pyenv/shims:$PATH" eval "$(pyenv init -)"
to .bash_profile then you can see the python version you want to install or update:
pyenv install --list
want python 2.7.18? First you install it:
pyenv install 2.7.18
after which you can create a virtualenv using it:
pyenv virtualenv 2.7.18
Hope it can help you.
ppa:fkrull/deadsnakes is the latest version of python2.7
sudo add-apt-repository ppa:fkrull/deadsnakes sudo apt-get update sudo apt-get upgrade
It will upgrade python to 2.7.10
I'm not a fan of previous answers suggesting installing from various PPAs. No disrespect intended, but I don't know the people who built them and I have no idea what might be in there. In any environment where someone has to answer to a security professional that practice would be frowned upon.
I just found that downloading 2.7.18 from source and installing it side-by-side was a good start. This awesome blog post covered the steps. (recreated here to conform to stack overflow guidelines)
wget https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz tar xfz Python-2.7.18.tgz cd Python-2.7.18/ ./configure --prefix /usr/local/lib/python2.7.18 make make install
Test if the version works
/usr/local/lib/python2.7.18/bin/python -V Python 2.7.18
Now that I have 2.7.18 installed I can call it directly or symlink to it from wherever I want. (or copy it into a virtualenv etc.)
And note that I got here from a situation where I was getting insecure platform warnings, and SNI Missing warnings. Which led me here. I imagine many people are finding this question through the same path. And if that's why you're here this snippet may be of use to you too
pip install urllib3[secure]
The version you want is already in Ubuntu, in Vivid (pre)release. If you are brave, you can mix releases and install Vivid's version of Python under Trusty. Below is a generic solution that works on some packages, I can't warranty it with Python. The chances are ~ 50/50 that it will succeed. If you however find a proper backports repository for 14.04 with your required package version, then it should be a better choice.
You have '... trusty main' line in your
/etc/apt/sources.list, copy it twice, changing 'trusty' to 'utopic' and 'vivid'.
apt-get update and then
apt-get -t vivid install python2.7. Review dependencies installed before proceeding. Abort upgrade when you suspect any damage to your system (deleted important packages, etc.).
Remove or hash the two lines from
Never do it on production machines. Make a backup of your OS and prepare boot media to restore it if needed. Expect problems on upgrades. You've been warned.