如何使用Python的pip下载并保存包的压缩文件?

时间:2011-09-04 15:42:36

标签: python pip

如果我想使用pip命令下载软件包(及其依赖项),但保留所有下载的压缩文件(例如,django-socialregistration.tar) .gz) - 有办法吗?

我尝试了各种命令行选项,但似乎总是解包并删除 zipfile - 或者它获取zip文件,但用于原始包,而不是依赖。

8 个答案:

答案 0 :(得分:110)

--download-cache选项应该按照您的意愿执行:

pip install --download-cache="/pth/to/downloaded/files" package

然而,当我测试这个时,主程序包下载,保存并安装好了,但依赖项以其完整的url路径作为名称保存 - 有点烦人,但所有tar.gz文件都在那里

--download选项会下载主程序包及其依赖项,并且不会安装任何程序包。 (注意版本1.1之前的 --download选项下载依赖项。)

pip install package --download="/pth/to/downloaded/files"

pip文档概述了fast & local installs使用--download

答案 1 :(得分:52)

我总是这样下载软件包:

pip install --download /path/to/download/to_packagename

OR

pip install --download=/path/to/packages/downloaded -r requirements.txt

当我想安装我刚刚下载的所有库时,我这样做:

pip install --no-index --find-links="/path/to/downloaded/dependencies" packagename

OR

pip install --no-index --find-links="/path/to/downloaded/packages" -r requirements.txt


<强>更新

此外,要在一个系统上安装所有软件包,您可以将它们全部导出到requirement.txt,用于在另一个系统上安装它们,我们这样做:

pip freeze > requirement.txt

然后,requirement.txt可以按上述方式用于下载,或者执行此操作以从requirement.txt安装它们:

pip install -r requirement.txt

参考:pip installer

答案 2 :(得分:52)

pip install --download已弃用。从8.0.0版开始,您应该使用pip download命令:

 pip download <package-name>

答案 3 :(得分:7)

在版本7.1.2中,pip使用以下内容下载包的轮子(如果可用):

pip install package -d /path/to/downloaded/file

以下下载源代码分发:

pip install package -d /path/to/downloaded/file --no-binary :all:

如果pip知道它们(例如,如果pip show package列出它们),它们也会下载依赖项。

<强>更新

Anton Khodak所述,自{8}版以来首选pip download命令。在上面的示例中,这意味着/path/to/downloaded/file需要使用选项-d,因此替换installdownload合作。

答案 4 :(得分:6)

使用 pip download <package1 package2 package n> 下载所有软件包,包括依赖项

使用 pip install --no-index --find-links . <package1 package2 package n> 安装所有软件包,包括依赖项。 它从CWD获取所有文件。 它不会下载任何东西

答案 5 :(得分:1)

pip wheel是您应该考虑的另一种选择:

pip wheel mypackage -w .\outputdir

它将软件包及其依赖项下载到一个目录(默认为当前工作目录),但是它执行了将所有源软件包转换为wheel的附加步骤。

它方便地支持需求文件:

pip wheel -r requirements.txt -w .\outputdir

如果只需要特别要求的软件包,请添加--no-deps参数:

pip wheel mypackage -w .\outputdir --no-deps

答案 6 :(得分:0)

我希望(RHEL)-pip download package==version --no-deps --no-binary=:all:

答案 7 :(得分:-1)

离线安装python软件包

对于 windows 用户:

下载到文件中 打开您的 cmd 并按照以下步骤操作:

cd <*the file-path where you want to save it*>

pip download <*package name*>

该软件包及其依赖项将下载到当前工作目录中。

要从当前工作目录安装

将下载的文件夹设置为cwd,然后按照以下步骤操作:

pip install <*the package name which is downloded as .whl*> --no-index --find-links <*the file locaation where the files are downloaded*>

这将在该位置搜索依赖项。