Python使用了PYTHONPATH中不同的pip版本

Python使用了PYTHONPATH中不同的pip版本,python,linux,pip,Python,Linux,Pip,我在我的共享主机上安装了Python2.7(它已经安装了Python2.6,但他们不想升级它或安装任何软件包)和pip。在.bashrc中配置了PYTHONPATH和路径。我没有此计算机的root访问权限 当我在python安装中检查sys.path时,它不会引用这个共享位置的任何地方 我检查了命令: which python which pip 输出: /home/mgx/python27/bin/pip 两者都提供了我的安装,但使用 pip --version 输出: PIP1.1来自/

我在我的共享主机上安装了Python2.7(它已经安装了Python2.6,但他们不想升级它或安装任何软件包)和pip。在.bashrc中配置了PYTHONPATH和路径。我没有此计算机的root访问权限

当我在python安装中检查sys.path时,它不会引用这个共享位置的任何地方

我检查了命令:

which python
which pip
输出:

/home/mgx/python27/bin/pip

两者都提供了我的安装,但使用

pip --version
输出:

PIP1.1来自/usr/local/lib/python2.6/dist-packages/pip-1.1-py2.6.egg(python 2.6)

我可以看到它使用的是/usr/的版本,而不是我的。我如何强制它使用我的pip版本?当我试图通过直接地址安装我的pip版本时,一切都正常,但短pip命令使用的是错误的。同样奇怪的是,“哪个”命令显示了好的一个

编辑:cat$(哪个pip)的输出和以前命令的输出

#!/home/mgx/python27/bin/python
# EASY-INSTALL-ENTRY-SCRIPT: 'pip==1.4.1','console_scripts','pip'
__requires__ = 'pip==1.4.1'
import sys
from pkg_resources import load_entry_point

if __name__ == '__main__':
    sys.exit(
        load_entry_point('pip==1.4.1', 'console_scripts', 'pip')()
    )

我认为您可以更改
路径
变量,以便首先搜索您的
/home/mgx/python27/bin
。将以下行添加到
.bashrc
中,然后再查找

PATH=/home/mgx/python27/bin:$PATH
然后

或者您可以在
.bashrc

alias pip='/home/mgx/python27/bin/pip'

我想这会解决的

pip
通常只是一个简单的Python脚本,通过
pkg\u资源导入并运行真正的代码。你能
cat$(哪个pip)
并粘贴到这里吗?特别是,它是否有指向错误Python的shebang行和/或使用env而不是直接指向。陛下这一个肯定是正确的,因为共享主机pip在版本1.1中。好的,下一个可能性是……Python 2.6站点包和/或dist包是否会在您的
sys.path
上,甚至在您的Python 2.7中?运行Python并打印sys.path以查看。如果是,我们需要找出原因并解决它。不,不是。。。它显然是在运行2.6版本,尽管事实上
并非如此<代码>python
运行正常。使用
/home/user/python27/bin/pip
工作正常。下一个想法:让我们确保它不是shell中的时髦东西。比较
pip--version
$(哪个pip--version
)和
env-pip--version
。他们都错了,还是其中一个错了?显然这不是问题所在,或者
which python
which pip
不会给他正确的信息。我想如果他能把
$PATH
粘贴到这里可能会有帮助。PATH就像这个答案一样-export PATH=$PYTHONPATH:PATH和PYTHONPATH是/home/mgx/python27/bin。你确定
PATH
没有在其他地方更改吗?
echo$PATH
的输出是什么?
alias pip='/home/mgx/python27/bin/pip'