<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div><blockquote type="cite" class=""><div class="">On Nov 5, 2015, at 6:36 PM, Donald Stufft <<a href="mailto:donald@stufft.io" class="">donald@stufft.io</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><span style="font-family: Menlo-Regular; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">I’m not really sure what the right answer is for something where the particular version of Python you’re invoking it with (and that you’re actually using Python) is important. python -m makes a lot of sense in that area because it eliminates the need to have each tool create their own logic for determining what python they are operating on but I think most people are not going to be very familiar with the idea and I don’t know how well they’d warm to it. The other option (that I can come up with) is baking that logic into each tool (as pip and virtualenv do now) either via naming scheme or a flag.</span><br style="font-family: Menlo-Regular; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""></div></blockquote></div><br class=""><div class="">Rather than trying to figure out what the "right" way for users to invoke `pip´ to begin with is, why not just have Pip start providing more <i class="">information</i> about potential problems when you invoke it?</div><div class=""><br class=""></div><div class="">If you invoke 'pip[X.Y]' and it matches 'python -m pip' in your current virtualenv, don't say anything; similarly if you invoke 'python -m pip' and 'which pip' matches.  But if there's a mismatch, pip can print information in both cases.  This would go a long way to alleviating the confusion that occurs when users back themselves into one of these corners, and would alert users to potential issues before they become a problem; right now you have to be a dogged investigative journalist to figure out why pip is doing the wrong thing in some cases.</div><div class=""><br class=""></div><div class="">-glyph</div><div class=""><br class=""></div></body></html>