On Wed, 16 Apr 2014 02:32:00 -0500, Andrew Berg wrote: > On 2014.04.15 20:21, Steven D'Aprano wrote: >> On Tue, 15 Apr 2014 17:32:57 -0500, Andrew Berg wrote: >> >>> On 2014.04.15 17:18, Ned Batchelder wrote: >>>> Yeah, that's the wrong way to do it, and they shouldn't have done >>>> that. >>>> "python" needs to mean Python 2.x for a long time. >>> Or maybe explicit is better than implicit: >>> >>> # python >>> zsh: command not found: python >>> # which python2.7 >>> /usr/local/bin/python2.7 >>> # which python3.4 >>> /usr/local/bin/python3.4 >> >> If you really meant that, you would have typed "/usr/bin/which2.16 >> python" (or whatever the location and version of which on your system). > Are you sure about that? > # which which > which: shell built-in command > Unless I'm forgetting some more explicit way of calling a command built > into the shell.
I've tried it on two different systems: steve@runes:~$ which which /usr/bin/which although I see you are running as root: steve@runes:~$ su - Password: root@runes:~# which which /usr/bin/which Nope, that makes no difference. In any case, you're missing my point, which is not *where* the which binary lives, but the fact that you're calling some specific version, located in some specific place (even if that place is a virtual place inside the shell) implicitly rather than explicitly. Which is usually (but not always!) what we want for an interactive shell. Who wants to be typing out explicit paths to versioned binaries *all the time*? -- Steven -- https://mail.python.org/mailman/listinfo/python-list