pip将2.7的包安装到/usr/local/lib/python3.2/dist-packages
大家好。
我正在尝试用 pip
安装一些包,比如 tornado
,但是它把这些包安装到了 /usr/local/lib/python3.2/dist-packages
这个地方,这样 python2.7
就找不到它们了。
我哪里搞错了呢?我需要设置 PYTHONPATH 之类的吗?(这听起来有点危险)。
$ /usr/local/bin/pip --version
pip 1.4.1 from /usr/local/lib/python3.2/dist-packages/pip-1.4.1-py3.2.egg (python 3.2)\
我用的是 Ubuntu 12.04 LTS
回答: sudo mv /usr/local/bin/pip /usr/local/bin/pip3.2
2 个回答
你有安装Python2吗?
我不知道你用的是哪个系统,但有时候会有一个叫pip2的工具,它是专门用来管理Python2的包(比如在Arch Linux系统上就有这个,具体可以看这个链接)。
如果没有的话,可以去看看这个网站http://pip.readthedocs.org/en/latest/installing.html,上面有更多的安装说明。
$PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
这里的意思是,$PATH是一个环境变量,它告诉系统在哪里可以找到可执行的程序。这个路径包含了多个文件夹,系统会在这些文件夹里寻找你输入的命令。
在这个例子中,pip3.2的程序放在了/usr/local/bin
这个文件夹里,名字叫pip
,而pip2.7则在/usr/bin
文件夹里,也叫pip
。所以当你输入pip
这个命令时,系统调用的是3.2版本的pip。
为了修复这个问题,我只需要用命令sudo mv /usr/local/bin/pip /usr/local/bin/pip3.2
把pip的名字改成pip3.2,然后重启我的bash(命令行),这样系统就能重新识别路径了。
我也不知道为什么会出现这样的情况 :)