Install the latest version of Python for Linux
The new version of Python 3.11 was released yesterday. Officially, 3.11 is 10-60% faster than 3.10, and the standard test set is 1.25x faster. There are also other updates. The question is, how to update to the latest version under Linux.
1. Download the latest version of Python source code from the official website
Go to Pythonofficial website https://www.python.org/downloads/
2. Unzip
Unzip the latest version of Python downloaded in the previous step
1tar -xvf Python-3.11.0.tar.xz
Enter the unzipped directory
1cdPython-3.11.0
3. Install dependencies
I use Ubuntu, and the corresponding dependencies for the Debian system are:
1sudo apt-get install build-essential gdb lcov pkg-config \
2 libbz2-dev libffi-dev libgdbm-dev libgdbm-compat-dev liblzma-dev \
3 libncurses5-dev libreadline6-dev libsqlite3-dev libssl-dev \
4 lzma lzma-dev tk-dev uuid-dev zlib1g-dev
Careful readers may have questions, how do you know you depend on these installation packages? In fact, the README.rst file in the decompressed Python source code directory mentions relevant dependency instructions. It is a good habit to read the documentation before installing the software. As shown in the figure below, the link contains instructions for dependent packages.
4. Compile
There is nothing to explain in this step. If you need to adjust the configuration, you can first run ./configure --help to query the help information.
1./configure
2make
It is worth mentioning that make can accept the j parameter. For example, on a 4-core CPU system, make -j4 can speed up compilation.
5. Installation (Important Steps)
This step is critical because Python is an important software package for Linux systems. In most cases, it is not recommended to install it directly through make install. This will overwrite the basic version of Python on the system and lead to unnecessary unexpected situations. It is strongly recommended to:
1make altinstall
make altinstall will install to ${prefix}/bin/python3, and ${prefix}/bin/python3 is linked to ${prefix}/bin/python3.X, so that multiple versions can coexist harmoniously without infringing each other.
6. Confirm
If you look carefully at the output of the previous step, the latest version of Python is installed to /usr/local/bin/python3.11 by default.
1which python3.11
2/usr/local/bin/python3.11
7. Make a soft link yourself
In order to save typing a few characters, you can make a soft link. If /usr/bin/python exists, you can back it up first and then delete it. Nowadays, most systems are upgraded to python3 by default, so choose to link to python instead of python3
1sudo ln -s /usr/local/bin/python3.11 /usr/bin/python
8. Install iPython
iPython is easier to use than Python’s own interpreter
1python -m pip install ipython
9. Final result
Checked Python and iPython, everything is fine
1➜~python
2Python 3.11.0 (main, Oct 25 2022, 11:03:14) [GCC 12.2.0] on linux
3Type "help", "copyright", "credits" or "license" for more information.
4>>>
5➜ ~ipython
6Python 3.11.0 (main, Oct 25 2022, 11:03:14) [GCC 12.2.0]
7Type 'copyright', 'credits' or 'license' for more information
8IPython 8.5.0 -- An enhanced Interactive Python. Type '?' for help.
Finally, the official Python documentation also has some relevant instructions. If you are interested, you can take a look: https://docs.python.org/3.11/using/unix.html#getting-and-installing-the-latest-version-of-python
Copyright statement:
- All content that is not sourced is original., please do not reprint without authorization (because the typesetting is often disordered after reprinting, the content is uncontrollable, and cannot be continuously updated, etc.);
- For non-profit purposes, to deduce any content of this blog, please give the relevant webpage address of this site in the form of 'source of original text' or 'reference link' (for the convenience of readers).
See Also:
- alacritty terminal use
- Ubuntu 22.10 connection bluetooth headset error 'br-connection-profile-unavailable solution'
- Minetest demo
- Baidu website index api Python example
- alacritty can't input Chinese and the title bar problem
- Ubuntu connects AirPods headphones
- Whether initialDelaySeconds is valid in the startupProbe probe of k8s
- Nginx webdav for Joplin