如何在 Debian (jessie) 上安装额外版本的 python。在 Ubuntu 上,我可以使用“deadsnakes”PPA,它会给我任何我想要的 python 版本,并在命令中包含版本名称(例如python33
python 3.3)。这允许我将它们全部安装在一起。我可以使用 virtualenvs 为特定版本安装特定的 python 包,而不会弄乱系统包。我维护一些 python 库,它们需要在许多版本的 python 上工作。如果我安装了 python 二进制文件,那么 tox 将负责为每个 python 版本使用 virtualenvs。
那么 Ubuntu 的 deadsnakes PPA 的 Debian 版本是什么呢?
更新我想安装 python:2.6、2.7、3.3、3.4 和 3.5。
答案1
我想说 Debian 中没有与 Ubuntu 的 deadsnakes PPA 相当的产品
在 Debian 下,不建议使用 Ubuntu 软件包或存储库。由于这篇文章出现在搜索引擎中,我在这里提出一个对于 Debian 系统来说危险性较小的答案。
可以手动安装 Python。例如,您可以使用以下说明来安装 3.5.2 版本
先决条件
安装依赖项:
sudo apt-get update && sudo apt-get install libssl-dev openssl
构建Python
--prefix
您可以使用命令中的参数在特定文件夹中构建 Python configure
:
wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz
tar zxf Python-3.5.2.tgz
cd Python-3.5.2/
./configure --prefix=/usr/local
make
sudo make install
/usr/local
可以使用另一个基本目录来代替。举个例子:
sudo mkdir /opt/python-3.5.2
./configure --prefix=/opt/python-3.5.2
选择Python版本
使用 PATH 环境变量可以帮助选择要使用的正确的 python 版本。但也可以使用符号链接:
sudo ln -s /opt/python-3.5.2/bin/python3.5 /usr/local/bin/python3
sudo ln -s /opt/python-3.5.2/bin/pip3.5 /usr/local/bin/pip3
使用-f
选项将允许您替换现有的符号链接
笔记:对于 python 3.9.16(可能是任何+3.9
版本),您可能还需要安装该库:libffi-dev
因此依赖项将是:
sudo apt-get update && sudo apt-get install libssl-dev openssl libffi-dev
答案2
使用购电协议
您可以在 Debian 上使用 PPA。选择一个Ubuntu版本这是您的 Debian 版本之前的版本,它应该具有所有必需的库。对于喘息来说,oneiric PPA 似乎还可以(但它缺少更新的 Python 版本)。对于 Jessie 来说,值得信赖的 PPA 应该有效。
要在 Debian 上添加 PPA,
下载并添加PPA 签名密钥和:
gpg --keyserver keyserver.ubuntu.com --recv-keys F23C5A6CF475977595C89F51BA6932366A755776 gpg --export F23C5A6CF475977595C89F51BA6932366A755776 | sudo tee /usr/share/keyrings/ppa-deadsnakes.gpg > /dev/null
然后创建一个包含以下内容的文件
/etc/apt/sources.list.d/ppa-deadsnakes.list
:deb [signed-by=/usr/share/keyrings/ppa-deadsnakes.gpg] https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu/ trusty main deb-src [signed-by=/usr/share/keyrings/ppa-deadsnakes.gpg] https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu/ trusty main
最后运行
apt-get update
并安装所需的包。
如果由于某些原因您无法使 PPA 工作(也许您找不到与您拥有的库兼容的版本),您可以下载源代码并为您的发行版重新编译它们。
使用 chroot 系统
我通常测试与其他版本的兼容性是在一个较旧的或较新的发行版中运行chrooted系统。例如,您可以安装各种版本的 Ubuntu 以及您感兴趣的 Python 版本,或者您可以在 chroot 中安装 trusty 并在那里安装 PPA。有关更多信息,请参阅我的施根指南。