在一个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 python和python --version之间有什么矛盾吗?这让我感到困惑,因为whereis python的结果包括几个文件夹名,包括python2.6。
除了上述信息外,我还尝试了which和alias python。
bash-4.1$ which python
/devl/tf_0.12/bin/python
bash-4.1$ alias python
bash: alias: python: not found发布于 2017-04-10 23:40:08
没有矛盾。查看PATH环境变量中给出的所有路径,标识每个包含可执行python命令的目录。
另一方面,python - version 调用python,该规则由shell的消歧规则指示( PATH是其中的一个因素),并报告该可执行文件的版本。检查别名和其他环境设置,以了解python的本地含义,如
alias python这能解开谜团吗?
对问题的回答编辑
这告诉我们,shell将命令python解析为特定的可执行文件。我不知道/devl中是什么;对于我熟悉的任何基于UNIX的世界来说,这都不是一个标准的位置。但是,如果您运行/devl/tf_0.12/bin/python -- version,您应该会看到与前面看到的相同的3.4.5。
https://stackoverflow.com/questions/43334455
复制相似问题