问题描述
我尝试了正常的方式,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
-
安装构建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
-
运行安装程序脚本(由原作者安装pyenv和一些非常有用的pyenv插件;有关更多信息,请参阅here)
curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash
-
将init行添加到您的
~/.profile
或~/.bashrc
(它在安装脚本末尾提到它):export PATH="~/.pyenv/bin:$PATH" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"
-
重新启动您的shell(关闭&打开或
exec $SHELL
)或重新加载配置文件脚本。 (例如用source ~/.bashrc
)
完成!
建立一个环境
为了不触及系统Python(通常是一个糟糕的主意; OS-level服务可能依赖于某些特定的库版本等)创建自己的环境,这很容易!更好的是,没有sudo
,因为它或pip
安装!
-
安装您的首选Python版本(这将下载源代码并为您的用户构建,无需输入)
pyenv install 3.6.0
-
让它成为一个虚拟世界,如果你愿意的话,你可以在以后制作其他作品
pyenv virtualenv 3.6.0 general
-
使其全球活跃(针对您的用户)
pyenv global general
-
做你想用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 found
,fish: Unknown command 'pyenv'
-
检查你的
$PATH
,应该有一个以.pyenv/bin
为结尾的条目。如果缺少,请确保您在上面的安装pyenv下面执行#3和#4(重新启动您的shell)。
-
-
pyenv: no such command 'virtualenv'
-
如果您未使用安装程序脚本,则可能只安装了根pyenv软件包。有关添加插件的说明,请参见pyenv-virtualenv
-
如果您使用安装程序脚本,请检查它是否与
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
希望这能为你解决问题。