Format error when using pip install -e from GitHub

2019-08-07 14:42发布

The following works:

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

But the following doesn't:

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

The error is:

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

Why?

Also, I read that the -e does the following: --egg

Install as self contained egg file, like easy_install does.

what is the value of this? When would this be helpful? (I always work on a virtualenv and install through pip)

1条回答
混吃等死
2楼-- · 2019-08-07 15:45

Generally, you don't want to install as a .egg file. However, there are a few rare cases where you might. For example:

  • It's one of a handful of packages that needs to override a built-in package, and knows how to do so when installed as a .egg. With Apple Python, readline is such a package. I don't know of any other common exceptions.
  • The egg has binary dependencies that point to other eggs on PyPI, and can serve as a binary dependency for yet other eggs on PyPI. This is pretty rare nowadays, because it doesn't actually work in many important cases.
  • You want a package embedded in a single file that you can copy-and-paste, FTP, etc. from one installation to another.
  • You want a package that you can install into another installation straight out of site-packages.
  • The package is badly broken (and you can't fix it, for whatever reason), so that setup.py install does not work, but it can properly build an egg and run out of an egg.

Meanwhile, if you want to use editable mode, the package, and all other packages it depends on, have to be egg-compatible, whether or not you install them as eggs; pip will add #egg=<project name> to the VCS URL for each one, and if any of them don't understand that, it will fail.

查看更多
登录 后发表回答