【问题标题】:How to correctly use pip install --download? [closed]如何正确使用 pip install --download? [关闭]
【发布时间】:2013-05-30 20:31:16
【问题描述】:

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

【问题讨论】:

  • 附带说明:在干净的 OS X 10.8 机器上,如果您从 Python 2.7.2、sudo easy_install pipsudo pip install mercurialpip install --download=. mercurial 开始,它会成功。您是否有与 Apple 冲突的第二个 Python 2.7 安装?
  • 我刚刚将安装的 OSX 10.8.3 清理到我的一台 Mac 上。发出 sudo easy_install pip 后跟 pip install --download=. mercurial 以提到的错误结束。但文件实际上是下载的!它没有在 Debian 7 / Ubuntu 上下载(只有错误,没有文件)。并在带有内置 python 的 ActivePython 和 OSX 的 Windows 8 上下载(有错误)。

标签: python pip distribute


【解决方案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 则以以太网方式复制它……但这可能是误导;差异可能与 tarball 是否已经在下载缓存中或其他东西有关......)

【讨论】:

  • 不幸的是,我的目标目录中没有任何内容,无论我是否使用“,”或完整路径指定它。可能出了什么问题?
  • @EyeofHell:你有什么版本的pip
  • @EyeofHell:等一下……你是对的,看起来即使是最新的pip 使用 Python 2.7.2 也只会在 egg_info 成功的情况下将 tarball 复制到目标目录中。但是同样的pip 与 Python 3.3.0 无论如何都会复制它。这似乎是错误的;您可能需要进行更多测试来验证这一点并提交错误。同时,让我编辑答案。
  • @EyeofHell:作为一种解决方法,您也可以随时传递--download-cache=.。您应该会在输出中看到类似Storing download in cache at ./http%3A%2F%2Fmercurial.selenic.com%2Frelease%2Fmercurial-2.6.1.tar.gz 的内容,即使您没有看到,也应该很容易找到该文件。
  • '--download-cache' 仅适用于'--download' (Windows 8、OSX 10.8.3)。在 Debian 和 Ubuntu 上,我只得到错误,并且没有使用“--download”或“--download-cache”下载文件。
猜你喜欢
  • 1970-01-01
  • 2016-07-01
  • 2017-08-10
  • 1970-01-01
  • 2019-02-19
  • 2021-04-21
  • 2015-05-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多