我python
在终端窗口中键入。我得到的是Python 2.7,而不是Python 3.5。根据文档,应该预装Python 3.5。
我python
在终端窗口中键入。我得到的是Python 2.7,而不是Python 3.5。根据文档,应该预装Python 3.5。
Answers:
我不知道您正在阅读什么“文档”,也不知道他们说什么,但是,/usr/bin/python
这只是指向默认版本python(在本例中为2.7)的符号链接,这是python
在终端上键入的结果。这是PEP 394的结果,它定义了
- 目前,所有发行版都应确保与
python
指向相同的目标python2
。
type python
并file /usr/bin/python
确认这一点。
除了约定之外,这种安排的原因是Xenial中的源软件包python-defaults是版本2.7.11,因此python符号链接指向此版本。
要使用python 3,您必须明确并python3
在命令行中键入,如果需要特定版本,建议您在命令行中键入,这也可以使用python 2来完成,键入python2
。在所有当前版本中,Ubuntu默认都包括python 2和3版本。
有计划迁移一切到Python 3和标记为默认。
要获取Python 3.5 REPL或运行兼容的脚本,请输入python3
。这是为了保持与所有旧版python 2.x的兼容性(一直以来,并将一直链接到python
)。
破折号可以找到python
是否.desktop
为它设置了文件(在中~/.local/share/applications/
),以打开终端并启动REPL。python没有默认的GUI REPL环境,正常的界面期望是用户会去到终端。
python 3.5是默认的说法是维护者将所有系统脚本从python 2.x移植到python 3.x,而不是在所有情况下python 3都会取代python 2。
#!/usr/bin/python3
(或#!/usr/bin/python2
),#!/usr/bin/env python3
如果您希望它具有远程可移植性,则最好使用它(仅适用于python)。在大多数情况下,这只是文档,因为在许多情况下,$ python3 your_pyprogram.py
无论如何都将调用它。
您假设默认的Python应该可作为使用python
。这个假设是错误的。
在“预加载” Python 3的系统上,根本没有Python 2的系统上,只有python3
且没有python
。
为Python 3编写的代码应始终寻找名为的解释器python3
。从历史上看,为Python 2编写的代码会寻找python
。
可能会有一个时间点,可能是从现在开始的几十年,几乎没有人记得Python 2,那时python
可能会开始使用python3
。这纯粹是为了方便起见,如果有的话,也可以而且不应该为时过早!不必急,因为有以下影响:
“当前的旧”系统python2
仅是一无所知python
,因此让Python 2代码一直在寻找是很有意义的python
。这就是为什么python
只要“ Python 2代码存在”就应引用Python 2 的原因。
为Python 2编写的新代码(如果有道理)可以完美地寻找python
。python2
如果它仅打算在具有Python 3意识且经过精心整理的系统(应提供此类链接)上运行,它也可能会寻找。
使用Python 2代码的好处python2
是,一旦python
开始引用,它就python3
永远不需要发生,或者一旦python
消失,就可能发生或不发生,它不需要额外的操作。(如果在假设的解释器Python 4流行之后,Python 2代码消失了,那可能会成真。– python4
因为让它指向一个python3
或python4
两个都将引起混淆。)
python
是使用<tab>
查询autocompleter,然后的可能的排列输出python*
,并返回你到一个新的提示。
apt-cache
,特别是对于Ubuntu初学者。
Python 3.x应该可以在16.04上使用-实际上,它肯定可以使用。我有Ubuntu 14.04,我有Python 3.4.3-测试它所要做的就是输入python3
,它应该告诉您正在运行的版本。