如何在 debian 10 上安装 python3.8?

ERA*_*GON 9 python debian python-3.x python-3.8

debian 10.0.4昨天在我的电脑上安装了。

它已经python version 3.7.3安装在上面,所以我试图将它更新到版本3.8.3,现在我已经3.8.3安装了版本,但是当我尝试使用官方安装 pip 时,get-pip.py它会引发异常。细节是:

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
Run Code Online (Sandbox Code Playgroud)

我必须提到 python (python2.7) 和 python 2.7 的 pip 正在工作,我尝试使用源编译重新安装 python,但在安装它时出现另一个错误(zlib 错误)

ale*_*ame 16

在 Debian 10 上安装 Python 3.8

在 Debian 上构建 Python 3.8 是一个相对简单的过程,只需几分钟。

  1. 首先安装构建 Python 源代码所需的包:
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
Run Code Online (Sandbox Code Playgroud)
  1. 使用 wget 或 curl 从 Python 下载页面下载最新版本的源代码。在撰写本文时,最新版本是 3.8.2:
curl -O https://www.python.org/ftp/python/3.8.2/Python-3.8.2.tar.xz
Run Code Online (Sandbox Code Playgroud)
  1. 下载完成后,解压压缩包:
tar -xf Python-3.8.2.tar.xz
Run Code Online (Sandbox Code Playgroud)
  1. 导航到 Python 源目录并运行配置脚本:
cd Python-3.8.2
./configure --enable-optimizations --enable-loadable-sqlite-extensions
Run Code Online (Sandbox Code Playgroud)

该脚本执行多项检查以确保系统上的所有依赖项都存在。--enable-optimizations 选项将通过运行多个测试来优化 Python 二进制文件,这会使构建过程变慢。

  1. 运行 make 开始构建过程:
make -j 4
Run Code Online (Sandbox Code Playgroud)

将 修改-j为与处理器中的内核数相对应。您可以通过键入来查找号码nproc

  1. 构建完成后,以具有 sudo 访问权限的用户身份运行以下命令来安装 Python 二进制文件:
sudo make altinstall
Run Code Online (Sandbox Code Playgroud)

不要使用标准,make install因为它会覆盖默认的系统python3二进制文件。

  1. 此时,Python 3.8 已安装在您的 Debian 系统上,可以使用了。您可以通过键入以下内容进行验证:
python3.8 --version
Python 3.8.2
Run Code Online (Sandbox Code Playgroud)

来源:https : //linuxize.com/post/how-to-install-python-3-8-on-debian-10/

  • 如果某些教程添加了随机开关(例如 sqlite 的东西)并且只是安装了一堆依赖项而没有清楚地解释它们的用途/为什么需要它们,我不喜欢它们。 (5认同)