Issue
i've installed debian 10.0.4
yesterday on my pc.
it had python version 3.7.3
installed on it , so i tried to update it to version 3.8.3
and now i have version 3.8.3
installed but when i try to install pip using the official get-pip.py
it throws an exception . the details is :
Traceback (most recent call last):
File "<frozen zipimport>", line 520, in _get_decompress_func
ModuleNotFoundError: No module named 'zlib'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<frozen zipimport>", line 520, in _get_decompress_func
ModuleNotFoundError: No module named 'zlib'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<frozen zipimport>", line 568, in _get_data
File "<frozen zipimport>", line 523, in _get_decompress_func
zipimport.ZipImportError: can't decompress data; zlib not available
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "get-pip.py", line 23484, in <module>
main()
File "get-pip.py", line 198, in main
bootstrap(tmpdir=tmpdir)
File "get-pip.py", line 82, in bootstrap
from pip._internal.cli.main import main as pip_entry_point
File "<frozen zipimport>", line 241, in load_module
File "<frozen zipimport>", line 709, in _get_module_code
File "<frozen zipimport>", line 570, in _get_data
zipimport.ZipImportError: can't decompress data; zlib not available
i must mention that the python (python2.7) and pip for python 2.7 is working , and i tried to reinstall python using source compilation and i got another error while installing it (zlib error)
Solution
Installing Python 3.8 on Debian 10
Building Python 3.8 on Debian is a relatively straightforward process and will only take a few minutes.
- Start by installing the packages necessary to build Python source:
sudo apt update
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev curl libbz2-dev liblzma-dev
- Download the latest release’s source code from the Python download page with wget or curl. At the time of writing this article, the latest release is 3.8.2:
curl -O https://www.python.org/ftp/python/3.8.2/Python-3.8.2.tar.xz
- When the download is complete, extract the tarball:
tar -xf Python-3.8.2.tar.xz
- Navigate to the Python source directory and run the configure script:
cd Python-3.8.2
./configure --enable-optimizations --enable-loadable-sqlite-extensions
The script performs a number of checks to make sure all of the dependencies on your system are present. The --enable-optimizations option will optimize the Python binary by running multiple tests, which will make the build process slower.
- Run make to start the build process:
make -j 4
Modify the -j
to correspond to the number of cores in your processor. You can find the number by typing nproc
.
- Once the build is done, install the Python binaries by running the following command as a user with sudo access:
sudo make altinstall
Do not use the standard make install
as it will overwrite the default system python3
binary.
- At this point, Python 3.8 is installed on your Debian system and ready to be used. You can verify it by typing:
python3.8 --version
Python 3.8.2
source: https://linuxize.com/post/how-to-install-python-3-8-on-debian-10/
Answered By - alex_noname Answer Checked By - Mary Flores (WPSolving Volunteer)