如何正确使用pip install --download?

时间:2013-05-30 20:31:16

标签: python pip distribute

我在Windows上安装了pip(与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上它都试图在下载后安装包:(

1 个答案:

答案 0 :(得分: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复制到目标,如果它失败,而1.4dev1下3.3.0复制它以太方式......但这可能是误导;可能的差别与tarball是否已经在下载缓存中有关......或者其他东西......)