0

我已经pip安装在 Windows(与 捆绑ActivePython)、Debian 7(通过 安装sudo apt-get install python-pip)和 OSX 10.8(通过 安装easy_install pip)。

我想下载mercurial包而不安装它(只是一个.tar.gaz存档),所以我发出了以下记录的命令:

pip install --download=. mercurial

在 Windows 上它可以工作,但当前目录中没有文件出现。在 Debian 和 OSX 上,它会像这样失败:

Downloading/unpacking mercurial
  Running setup.py egg_info for package mercurial
  ...
  lots of text, complains about no headers to compile

我做错了什么?我确信它pip不应该用命令实际运行--download某些东西,但似乎在 Debian 和 OSX 上它都试图在下载后安装包:(。

4

1 回答 1

1

它实际上并没有构建和安装包,但它会执行该egg_info步骤,如果该步骤适用于您的平台上的包。您可以从您的输出(或从 ~/.pip/pip.log)中看到这一点:

Running setup.py egg_info for package mercurial

Command python setup.py egg_info failed with error code 1 in /var/folders/fl/kgrflrj92pv1yjr_918x0t800000gq/T/pip-build/mercurial

无论该步骤成功还是失败,您最终仍然没有安装任何站点包。但是,除非成功,否则您可能不会在目标目录中获得 tarball。(从一个非常快速的测试来看,如果 Python 2.7.2 下的 1.2.1 和 1.4dev1 失败,则两者都无法将 tarball 复制到目标,而 3.3.0 下的 1.4dev1 则以以太网方式复制它……但这可能是误导;差异可能与压缩包是否已经在下载缓存中或其他东西有关......)

于 2013-05-30T20:37:33.320 回答