啊。你的路径中有两个Python版本相同?不要那样做。
pip、easy-install 等与特定的 python 安装相关联,并且默认情况下将使用该 python。因此,如果您有系统提供的 python 和系统提供的 easy_install (或使用系统 python 自己安装了 easy_install),则 easy_install 默认情况下将安装系统 python 的软件包。
恕我直言,避免这种混乱的最好方法是对该版本(可能是 2.7)使用 use system python,对于其他版本,使用make alt-install
安装时,这将为您提供可执行文件,例如python3.1
等等。如果确实需要更换系统提供的版本,请将其卸载。
一旦你这样做了。每个 python 都有一个不同的名称(以版本结尾)并且python
仍将是系统一。
接下来,当您安装 easy_install 时,您会注意到有特定于版本的版本(easy_install-2.7
例如)。使用那些。如果缺少,则使用适当的 python 安装 distutils (例如使用python3.1
你会得到一个easy_install-3.1
)。不幸的是,每次执行此操作(iirc)时,您都会覆盖未版本化的easy_install
, so never使用它 - 始终使用版本化的版本。
或者,除了系统版本之外,您无法安装 easy_install 或 pip,然后始终使用虚拟环境。 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 没有深入的了解,所以我在合理化/描述事物时可能会犯一些错误(换句话说,我写这一切是为了以防万一它有帮助,但我有点担心我有一个错误 - 请有人纠正我(如果是这样)。