python和python之间的矛盾 - 版本

时间:2017-04-10 23:31:08

标签: python python-2.7 python-3.x

在一个Python环境中,我输入whereis python,并获取以下信息

python: /usr/bin/python2.6 /usr/bin/python2.6-config
/usr/bin/python /usr/lib/python2.6 /usr/lib64/python2.6
/usr/X11R6/bin/python2.6 /usr/X11R6/bin/python2.6-config
/usr/X11R6/bin/python /usr/bin/X11/python2.6
/usr/bin/X11/python2.6-config /usr/bin/X11/python
/usr/include/python2.6 /usr/share/man/man1/python.1.gz

但是当我输入python --version时,它会返回Python 3.4.5

whereis pythonpython --version之间是否存在矛盾?令我困惑的是因为whereis python的结果包含多个文件夹名称,包括python2.6

除上述信息外,我还尝试了whichalias python

bash-4.1$ which python
/devl/tf_0.12/bin/python

bash-4.1$ alias python
bash: alias: python: not found

1 个答案:

答案 0 :(得分:3)

没有矛盾。 whereis 查看 PATH 环境变量中提供的所有路径,标识包含可执行 python 命令的每个目录。

另一方面,

python --version 会调用shell消除歧义规则所指示的 python PATH 只是一个因素),并报告该可执行文件的版本。检查别名和其他环境设置以了解 python 的本地含义,例如

alias python

这是否澄清了这个谜团?

对问题编辑的回复

这告诉我们shell将命令 python 解析为特定的可执行文件 /devl/tf_0.12/bin/python 。我不知道 / devl 中的内容是什么这不是我所熟悉的任何基于UNIX的世界的标准位置。但是,如果您运行/devl/tf_0.12/bin/python -- version,您应该会看到之前看到的相同的3.4.5。