macOS X奇怪的python

Dna*_*iel 2 python macos terminal

短Q,

在mac OS sierra终端中,

如果我做:

whereis python
/usr/bin/python
Run Code Online (Sandbox Code Playgroud)

然后,如果我这样做: /usr/bin/python它打开python 2.10

但如果我执行 python它会打开python 2.7.8.

我怎么知道python 2.7.8的whereis以及为什么whereis指向不同于默认版本的python版本?

che*_*ner 7

whereis只看几个标准的地方.使用which -a python让您的目录列表PATH变量包含python.例如,在我的机器上

$ whereis bash
/bin/bash
$ which -a bash
/usr/local/bin/bash
/bin/bash
$ echo "$PATH"
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Run Code Online (Sandbox Code Playgroud)

至于为什么whereis不报告python实际运行的,请注意我的示例中whereis仅报告/bin/bash.然而,/usr/local/bin似乎在我的PATH/bin,所以输入bash在提示单独运行找到的第一个同时扫描PATH.在您的情况下,您可能在路径中出现的目录中也有Python 2.7.8 /usr/bin.


wim*_*wim 5

你可以运行python并检查sys.executable.

>>> import sys
>>> sys.executable
'/usr/bin/python'
Run Code Online (Sandbox Code Playgroud)