我在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上它都试图在下载后安装包:(
答案 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是否已经在下载缓存中有关......或者其他东西......)