如何使用 apt-get 安装 Python 3.6?

我试过正常的方法,`sudo apt-get install python3.6',但是......嗯......那没有用。

那么,我应该怎么做呢?(我最好不要自己做)_(我最好不要自己做)

我使用Ubuntu 16.04。

解决办法

Ubuntu 14.04 (Trusty), 16.04 (Xenial)

如果你使用的是Ubuntu 14.04或16.04,你可以使用Felix Krull'的deadsnakes PPA,网址是https://launchpad.net/~deadnakes/+archive/ubuntu/ppa。

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.6

或者,你也可以使用J Fernyhough'的PPA,网址是:https://launchpad.net/~jonathonf/+archive/ubuntu/python-3.6

sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt-get update
sudo apt-get install python3.6

Ubuntu 16.10, 17.04

如果你使用的是Ubuntu 16.10或17.04,那么Python 3.6就在宇宙仓库中,所以你可以直接运行。

sudo apt-get update
sudo apt-get install python3.6

在为 Ubuntu 14.04、16.04、16.10 和 17.04 安装之后

要调用Python 3.6解释器,请运行python3.6

Ubuntu 17.10 和 18.04 (Bionic)

Ubuntu 17.10 和 18.04 已经默认带有 Python 3.6。只要运行python3就可以调用它。

评论(35)

我推荐[pyenv](https://github.com/pyenv/pyenv)来解决你的困境。它不使用Aptitude,而且*确实涉及到自己构建它,但它是**完全自动化的。你可以通过简单的说 "pyenv install 3.6.0 "来构建和安装一个新(或旧)版本的Python。一切都以你的用户身份运行,所以你不必担心弄乱Ubuntu本身使用的Python的问题。

另外,后续问题"如何使用apt-get安装Python 3.7?"的答案是一样的。pyenv update; pyenv install 3.7.0。一般来说,它在发布的当天就能工作,因为你不需要等待别人为Ubuntu打包。看看你可以用pyenv install --list来安装的所有版本。

安装pyenv

1.安装构建CPythons所需的工具和头文件(外来的Python如PyPy或Jython可能有其他依赖性)。pyenv使用的是Git,另外它还可以实现源代码分支的构建/安装,所以你可以安装现在的3.8版本,也就是刚从GitHub上下来的CPython的主分支。

    sudo apt-get install -y git
    sudo apt-get install -y build-essential libbz2-dev libssl-dev libreadline-dev \
                            libffi-dev libsqlite3-dev tk-dev

    # 可选的科学软件包头(用于Numpy、Matplotlib、SciPy等)。
    sudo apt-get install -y libpng-dev libfreetype6-dev

2.运行安装程序脚本(安装pyenv和一些由原作者提供的非常有用的pyenv插件;更多信息见here

    curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash

3.在你的~/.profile~/.bashrc中添加init行(它在安装脚本的末尾提到)。

    export PATH="$HOME/.pyenv/bin:$PATH"
    eval "$(pyenv init -)"
    eval "$(pyenv virtualenv-init -)"

4.重新启动你的shell(关闭&打开或exec $SHELL)或重新加载配置文件脚本。(例如,用source ~/.bashrc)

完成了!

设置一个环境

为了不接触系统的Python(通常是个坏主意;操作系统级的服务可能依赖于一些特定的库版本,等等),建立你自己的环境,这很容易!更好的是,没有sudo,为它或pip安装!

1.安装你喜欢的Python版本(这将为你的用户下载源码并构建它,不需要任何输入)。

    pyenv安装3.6.0

2.把它变成一个virtualenv,这样如果你想的话,以后就可以做其他的了

    pyenv virtualenv 3.6.0 general

3.让它全局激活(对你的用户)。

    pyenv global general

4.对Python/pip等做你想做的事。它是你的。

如果你以后想清理你的库,你可以删除虚拟环境(pyenv uninstall general)或建立一个新的(pyenv virtualenv 3.6.0 other_proj)。你也可以让环境在每个目录下活动:pyenv local other_proj将把一个.python-version文件放到你当前的文件夹中,当你从它那里或在它下面调用Python或pip安装的Python工具时,它们将被pyenv削除。

故障排除

  • bash: pyenv: command not found, fish:未知命令 'pyenv'. 1.检查你的$PATH,应该有一个以.pyenv/bin结尾的条目。如果没有,请确保你按照上面安装pyenv中的#3 和#4(重新启动你的shell)操作。

  • pyenv: no such command 'virtualenv'. 1.如果你没有使用安装程序脚本,你可能只安装了根pyenv包。参见pyenv-virtualenv,了解添加该插件的说明。 2.如果你使用了安装脚本,请检查它是否在 "pyenv命令 "中显示出来。

评论(16)

如果你找不到任何可用的资源库,另一条途径是你可以尝试自己从源代码中编译。你可以找到[下载页面上的源代码](https://www.python.org/downloads/source/)。然后下载并解压tarball;例如[`Python-3.6.1.tgz`](https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz)。

解开tgz文件的过程是。

tar -xvzf /path/to/yourfile.tgz

一旦你进入了文件被解压的路径,运行。

./configure
make
make altinstall

希望这能为你解决这个问题。

评论(4)