如何使用 apt-get 安装不同版本的 Python?
显然,我知道我可以使用源 tar 包进行安装,但是我更愿意不从源安装,而是使用包管理器,因为它就是为此而存在的。肯定有某个信誉良好的机构为最新的 Python 版本构建了 .deb 文件(为什么 python.org 没有这样做,我不明白),我可以参考。
我需要做什么来引用它们,以及升级到下一个版本时可能产生什么问题?
如果除了从源代码构建之外没有其他方法,那么是否有一个(伪)包可以安装,它将提供所需的所有依赖项,而无需单独查找和安装每个依赖项?这样我就不会得到:
The necessary bits to build these optional modules were not found:
_bz2 _curses _curses_panel
_dbm _gdbm _lzma
_sqlite3 _ssl _tkinter
readline zlib
答案1
Felix Krull 基本上经营 PPA 产品任何适用于许多 Ubuntu 版本的 Python 版本(认真的说,vivid 有 2.3.7 版本...)https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa。
按照通常的方式:
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.5
它不会覆盖python3.4
仍以符号链接形式存在的现有文件python3
。
相反,要运行 python3.5,请运行命令python3.5
(或python3.X
任何其他版本的 python)。
不要更改符号链接!显然有许多系统功能无法在 python3.5 中正常运行。
我尝试了这个,但之后无法打开终端、软件更新程序……
cd /usr/bin
sudo rm python3
升级到 Wily 将调整元包python3
以指向python3.5
。我预计不会有任何破坏,但此时不再需要外部存储库。因此,为了真正安全起见,您可以在升级之前清除 PPA。
答案2
这Youtube 链接帮我安装它。
步骤如下:
sudo apt-get install libssl-dev openssl
wget https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz
tar xzvf Python-3.5.0.tgz
cd Python-3.5.0
./configure
make
sudo make install
要检查 python 是否已安装,请输入python3.5
else:
sudo ln -fs /opt/Python-3.5.0/Python /usr/bin/python3.5
答案3
只需按照以下步骤(已测试):
步骤 1 - 安装所需的软件包
在安装 Python 之前,使用以下命令安装其先决条件。
sudo apt-get install build-essential checkinstall
sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
第 2 步 - 下载 Python 3.5.2
使用以下命令从 Python 官方网站下载 Python。您也可以下载最新版本来代替下面指定的版本。
cd /usr/src
sudo wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz
现在提取下载的包。
sudo tar xzf Python-3.5.2.tgz
步骤 3 – 编译 Python 源代码
使用下面的命令集通过 altinstall 在您的系统上编译 python 源代码。
cd Python-3.5.2
sudo ./configure
sudo make altinstall
make altinstall
用于防止替换默认的python二进制文件/usr/bin/python
。
步骤 4 - 检查 Python 版本
使用以下命令检查已安装的 Python 的最新版本。
$ python3.5 -V
Python 3.5.2
来源。
答案4
据我所知,至少在 docker 容器中,可以明确使用apt-get
python 3。
首先我遇到了一个带有容器的 ubuntu 容器:
docker run -it --rm ubuntu:latest bash
然后由于某种原因,它需要更新一些 ubuntu 的东西,所以我这样做了(在容器内):
apt-get update && apt-get install -y build-essential git libjpeg-dev
然后我简单地安装了 python3,它似乎自动获得了 python 3.5:
apt-get install python3
apt-get install python3-pip
为了测试 pip 是否正常工作,让我们下载一些内容:
pip3 install tensorflow
对我来说一切似乎都很好。
重要提示:似乎如果您已经安装了 python 3.4,则apt-get install python3
无法正常工作,因为它说您已经安装了它。这似乎是我遇到的问题之一,因为我从 tensorflow 的 docker 镜像开始(特别是gcr.io/tensorflow/tensorflow:latest-devel-py3
),而该镜像中的某些内容(我假设它们已经有 python 3.4,但也可能还有其他内容)不允许我更新我的 python 以获取 python 3.5。
信用:当我问以下问题时我发现了这一点:https://stackoverflow.com/questions/42122826/can-one-use-python-3-5-in-a-docker-container-based-out-of-the-tensorflow-docker
注意:也可以只安装 Anaconda。以 docker 为例,可以执行以下操作:
docker pull continuumio/anaconda3
docker run -i -t continuumio/anaconda3 /bin/bash
来自他们的官方网站:https://hub.docker.com/r/continuumio/anaconda3/
该解决方案安装了 python 3.6,但我确信如果您查看它,您可以获得 python 3.5(如果这是您想要的)。
注意:除非你使用 docker,否则你还是应该使用虚拟环境,如 virtual env 或 conda/anaconda。只是想提醒大家。