Skip to content

Instantly share code, notes, and snippets.

@simonw
Created March 28, 2020 19:45
Show Gist options
  • Save simonw/7d391ec1fdddd730e0075d963da65f1f to your computer and use it in GitHub Desktop.
Save simonw/7d391ec1fdddd730e0075d963da65f1f to your computer and use it in GitHub Desktop.
How to run Python 3.7 on Ubuntu 16.04

How to run Python 3.7 on Ubuntu 16.04

This is based on Method 2 in https://websiteforstudents.com/installing-the-latest-python-3-7-on-ubuntu-16-04-18-04/

First, you need to install Python 3.7 (you will currently have Python 3.5.2):

sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.7

You now have two different versions of Python 3!

$ python3 --version
# Outputs 3.5.2
$ python3.7 --version
# Outputs 3.7

So you need to use pipenv but tell it to use Python 3.7 instead.

In a brand new folder do this:

pipenv --python=python3.7 install jupyterlab

Now you should be able to continue using the regular commands in that folder, e.g.

pipenv install altair
pipennv install pandas
pipenv run jupyter lab
@pazhosch
Copy link

Worked with Orange Pi One and Python 3.7.7, thanks!
Initially I've tried to build the latest Python 3.12.1, but it failed to build due to the outdated openssl. As my app (to be migrated from Raspberry Pi) is made for 3.7, I chose to download that version, and it worked well.

The new version was installed into /usr/local/bin/python, so I've then run:

$ sudo update-alternatives --install /usr/bin/python python /usr/local/bin/python3
$ update-alternatives --config python

to link /usr/bin/python to it (should it break anything in this old Ubuntu, it'll be very easy to revert using the latter command).

After running configure, I've also added: "-march=native -mtune=native" to BASECFLAGS in the makefile. Not sure if it will help this old and slow SBC a bit, but as I do not plan to use this build on another machine, it won't hurt.

@tharinduishans
Copy link

Thank you so much @ZakiOro. It worked like a charm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment