从GitHub使用pip install -e时出现格式错误。使用#egg的价值?

时间:2013-08-05 21:29:39

标签: python github pip

以下作品:

pip install git+git://github.com/pydata/pandas@master

但以下情况并非如此:

pip install -e git+git://github.com/pydata/pandas@master

错误是:

--editable=git+git://github.com/pydata/pandas@master is not the right format; it must have #egg=Package

为什么呢?

另外,我读到-e执行以下操作: --egg

Install as self contained egg file, like easy_install does.

这有什么价值?这什么时候有用? (我总是使用virtualenv并通过pip安装)

1 个答案:

答案 0 :(得分:3)

通常,您不希望安装为.egg文件。但是,您可能会遇到一些罕见的情况。例如:

  • 它是少数几个需要覆盖内置包的软件包之一,并且知道如何在安装为.egg时这样做。使用Apple Python,readline就是这样一个包。我不知道任何其他常见的例外情况。
  • 鸡蛋具有二进制依赖关系,指向PyPI上的其他鸡蛋,并且可以作为PyPI上其他鸡蛋的二元依赖关系。现在这种情况非常罕见,因为它实际上并不适用于许多重要的情况。
  • 您希望将一个软件包嵌入到单个文件中,您可以将其从一个安装复制粘贴,FTP等等。
  • 您想要一个可以直接从站点包安装到另一个安装的包。
  • 软件包严重损坏(无论出于何种原因你无法修复它),因此setup.py安装不起作用,但它可以正确地构建一个鸡蛋并用完一个鸡蛋。

同时,如果你想使用editable mode,那么包装以及它所依赖的所有其他包装都必须与鸡蛋兼容,无论你是否将它们作为鸡蛋安装; pip会为每个VCS网址添加#egg=<project name>,如果其中任何一个不理解,则会失败。