doctor: use -V for python version

`python --version` doesn't work in some (very) old versions of
python. While I doubt this is going to come up very often, it's
theoretically possible someone has an old python first in their
path. (python -V works on all versions I'm aware of, including
python3, and comes before --version in the --help anyway.)

Also skips the warning in case the regexp matches nothing, which
probably shouldn't happen. But if it does we shouldn't produce the
wrong warning.
This commit is contained in:
Misty De Meo 2013-01-09 17:04:02 -06:00
parent 4dffd3beb9
commit 05772f8ccf

View File

@ -890,8 +890,10 @@ end
def check_for_bad_python_symlink
return unless which "python"
# Indeed Python --version outputs to stderr (WTF?)
`python --version 2>&1` =~ /Python (\d+)\./
# Indeed Python -V outputs to stderr (WTF?)
`python -V 2>&1` =~ /Python (\d+)\./
# This won't be the right warning if we matched nothing at all
return if $1.nil?
unless $1 == "2" then <<-EOS.undent
python is symlinked to python#$1
This will confuse build scripts and in general lead to subtle breakage.