啊。你的路径中有两条相同版本的蟒蛇?不要那样做。
pip、easy-install 等与特定的 python 安装相关联,默认情况下将使用该 python。因此,如果您有系统提供的 python 和系统提供的 easy_install(或使用系统 python 自己安装了 easy_install),那么默认情况下,easy_install 将为系统 python 安装包。
恕我直言,避免这种混乱的最好方法是对该版本使用系统python(可能是2.7),对于其他版本,make alt-install
在安装时使用,这将为您提供诸如此类的可执行文件python3.1
。如果确实需要更换系统提供的版本,请卸载。
一旦你这样做了。每个 python 都将有一个不同的名称(以版本结尾)python
并将保持系统名称。
接下来,当您安装 easy_install 时,您会注意到存在特定于版本的版本(easy_install-2.7
例如)。使用那些。如果缺少一个,则使用适当的 python 安装 distutils (例如使用python3.1
,你会得到一个easy_install-3.1
)。不幸的是,每次你这样做(iirc)你都会覆盖 un-versioned easy_install
,所以永远不要使用它 - 总是使用版本化的。
或者,除了系统版本之外,您不能安装 easy_install 或 pip ,然后始终使用 virtualenv。virtualenv 会让你指定一个 python 版本(所以你可以为所有安装的 python 使用系统 virtualenv),然后为你使用的 python 安装 easy_install/pip。因此,一旦您进入虚拟环境,一切都会正常进行。
我刚刚意识到我对 pip 没有太多经验,所以我实际上对此无能为力(除了要注意 virtualenv 确实提供了它)(关于哪个更可取:它曾经是 pip 得到更好的维护;我认为这些天来,最新的 distutils/easy_install 和 pip 一样好,但是 pip 还有一些我从未使用过的功能)。
免责声明:以上是从开发 lepl 获得的经验,它在 2.6 到 3.2 上运行,所以我需要在所有这些上进行测试。据我所知,我上面描述的内容对我有用,但我对 python/easy_install/pip 没有深入的了解,所以我可能在合理化/描述事物方面有一些错误(换句话说,我正在写所有这些以防万一它有帮助,但我有点担心我有一个错误 - 如果是这样,请有人纠正我)。