Question: 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)

Answer: 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/