当前位置: 首页>>技术问答>>正文


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

, , ,

问题描述

我尝试了正常的方式,sudo apt-get install python3.6,但是……好吧……那没用。

那么,我将如何去做呢? (我最好不要自己创建它)

我使用的是Ubuntu 16.04。

最佳解决方法

Ubuntu 14.04和16.04

如果您使用的是Ubuntu 14.04或16.04,则可以在https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa上使用Felix Krull的deadsnakes PPA:

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

或者,您可以在https://launchpad.net/~jonathonf/+archive/ubuntu/python-3.6上使用J Fernyhough的PPA:

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位于Universe存储库中,因此您可以运行:

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

默认情况下,Ubuntu 17.10已经带有Python 3.6。只需运行python3即可调用它。

次佳解决方法

我会推荐pyenv来解决你的困境。它没有使用Aptitude,而是涉及“自己构建”,但它完全自动化。您可以通过简单地说pyenv install 3.6.0来构建和安装新的(或旧版本的)Python。一切都以用户身份运行,因此您不必担心Ubuntu本身使用的messing up the Python

安装pyenv

  1. 安装构建CPythons所需的头文件(PyPy或Jython等异类Pythons可能具有其他依赖项):

    sudo apt-get install -y build-essential libbz2-dev libssl-dev libreadline-dev \
                            libsqlite3-dev tk-dev
    
    # optional scientific package headers (for Numpy, Matplotlib, SciPy, etc.)
    sudo apt-get install -y libpng-dev libfreetype6-dev    
    
  2. 运行安装程序脚本(由原作者安装pyenv和一些非常有用的pyenv插件;有关更多信息,请参阅here)

    curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash
    
  3. 将init行添加到您的~/.profile~/.bashrc(它在安装脚本末尾提到它):

    export PATH="~/.pyenv/bin:$PATH"
    eval "$(pyenv init -)"
    eval "$(pyenv virtualenv-init -)"
    
  4. 重新启动您的shell(关闭&打开或exec $SHELL)或重新加载配置文件脚本。 (例如用source ~/.bashrc)

完成!

建立一个环境

为了不触及系统Python(通常是一个糟糕的主意; OS-level服务可能依赖于某些特定的库版本等)创建自己的环境,这很容易!更好的是,没有sudo,因为它或pip安装!

  1. 安装您的首选Python版本(这将下载源代码并为您的用户构建,无需输入)

    pyenv install 3.6.0
    
  2. 让它成为一个虚拟世界,如果你愿意的话,你可以在以后制作其他作品

    pyenv virtualenv 3.6.0 general
    
  3. 使其全球活跃(针对您的用户)

    pyenv global general
    
  4. 做你想用Python /pip等等的东西。这是你的。

如果以后要清理库,可以删除virtualenv(pyenv uninstall general)或创建一个新库(pyenv virtualenv 3.6.0 other_proj)。您也可以使环境处于活动状态per-directory:pyenv local other_proj会将.python-version文件放入当前文件夹,并且每当您调用Python或pip-installed Python实用程序或者在其下面时,它们都将被pyenv填充。

Troubleshooting

  • bash: pyenv: command not foundfish: Unknown command 'pyenv'

    1. 检查你的$PATH,应该有一个以.pyenv/bin为结尾的条目。如果缺少,请确保您在上面的安装pyenv下面执行#3和#4(重新启动您的shell)。

  • pyenv: no such command 'virtualenv'

    1. 如果您未使用安装程序脚本,则可能只安装了根pyenv软件包。有关添加插件的说明,请参见pyenv-virtualenv

    2. 如果您使用安装程序脚本,请检查它是否与pyenv commands一起显示。

第三种解决方法

如果你找不到任何工作回购站的替代路线,你可以尝试从源头编译自己。你可以找到source code on the download page。然后下载并解压缩tarball;例如Python-3.6.1.tgz

解压tgz文件的过程是:

tar -xvzf /path/to/yourfile.tgz

一旦你在文件路径中,文件被解压缩到,运行:

./configure
make
make altinstall

希望这能为你解决问题。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/218.html,未经允许,请勿转载。