Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Python';s pip下载并保存压缩文件包?_Python_Download_Pip_Zip - Fatal编程技术网

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

如何使用Python';s pip下载并保存压缩文件包?,python,download,pip,zip,Python,Download,Pip,Zip,如果我想使用pip命令下载一个包(及其依赖项),但保留下载的所有压缩文件(比如django socialregistration.tar.gz),有没有办法做到这一点 我尝试过各种命令行选项,但它似乎总是解包并删除zipfile-或者它得到zipfile,但只针对原始包,而不是依赖项。下载缓存选项应该满足您的要求: pip install --download-cache="/pth/to/downloaded/files" package pip install package --down

如果我想使用
pip
命令下载一个包(及其依赖项),但保留下载的所有压缩文件(比如django socialregistration.tar.gz),有没有办法做到这一点

我尝试过各种命令行选项,但它似乎总是解包并删除zipfile-或者它得到zipfile,但只针对原始包,而不是依赖项。

下载缓存选项应该满足您的要求:

pip install --download-cache="/pth/to/downloaded/files" package
pip install package --download="/pth/to/downloaded/files"
然而,当我测试这个时,主程序包下载、保存和安装都正常,但是依赖项是以其完整的url路径作为名称保存的-有点烦人,但是所有的
tar.gz
文件都在那里

--download
选项下载主软件包及其依赖项,而不安装任何一个。(注意在版本1.1之前,
--download
选项没有下载依赖项。)


pip
文档概述了使用
--download
for.

我总是这样做来下载软件包:

pip wheel mypackage -w .\outputdir --no-deps
pip安装——下载/path/to/download/to\u packagename

pip安装--download=/path/to/packages/download-r requirements.txt

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

pip安装--无索引--查找链接=“/path/to/download/dependencies”packagename

pip安装--无索引--查找链接=“/path/to/download/packages”-r requirements.txt


更新

另外,要在一个系统上安装所有软件包,您可以将它们全部导出到
requirement.txt
,用于在另一个系统上安装它们,我们执行以下操作:

pip freeze>requirement.txt

然后,可以如上所述使用
requirement.txt
进行下载,或者从
requirement.txt
进行安装:

pip安装-r requirement.txt


参考资料:

在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
列出了它们),则也可以下载这些依赖项


更新

如所述,
pip download
命令是自版本8以来的首选命令。在上述示例中,这意味着需要为
/path/to/download/file
提供选项
-d
,因此将
安装
替换为
下载
是可行的。

pip安装--download
不推荐使用。从版本8.0.0开始,应使用以下命令:

pip下载

使用
pip下载
下载所有软件包,包括依赖项

使用
pip安装--无索引--查找链接以安装所有软件包,包括依赖项。
它从
CWD
获取所有文件。 它不会下载任何内容

是您应该考虑的另一个选项:

pip wheel mypackage -w .\outputdir
它会将包及其依赖项下载到一个目录(默认情况下为当前工作目录),但它会执行将任何源包转换为控制盘的附加步骤

它方便地支持需求文件:

pip wheel -r requirements.txt -w .\outputdir
如果只需要特定请求的包,请添加
--no deps
参数:

pip wheel mypackage -w .\outputdir --no-deps
脱机安装python包 对于windows用户:

下载到文件中 打开你的cmd,然后按以下步骤操作:

cd

pip下载

包和依赖项将下载到当前工作目录中

要从当前工作目录安装,请执行以下操作:

将您下载的文件夹设置为cwd,然后执行以下操作:

pip安装--无索引--查找链接


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

我更喜欢(RHEL)
pip下载包==version--没有deps--没有二进制=:all:

不错,确实有效-尽管我在上标记了一个
--没有安装
选项。关于时髦的文件名,你是对的,但至少文件在那里。上次我检查时,
--download
选项下载带有依赖项的包。--download cache已被弃用。在现在已弃用的中使用pip安装--download
pip安装--download
,并将从pip 10中删除。使用
pip-download-somepackage
。具体来说,新的等价物是
pip-download-d{-r requirements.txt}
以及以后如何安装下载的软件包?@knocte
pip下载软件包的安装路径
几天前尝试过,我认为它仍然试图从internet检索deps,而不是使用下载的deps;IIRC,我不得不使用
sudopip安装--无索引--查找链接`pwd`
注意
pip下载
还支持
-r requirements.txt
,因此您可以轻松地从连接到internet的机器下载它们,然后复制到脱机机器,并安装上面的注释或
pip下载-d
到下载到特定目录。所有依赖项都已下载。我必须在windows中开发,并在RH7上部署,完全没有internet连接。因此,我下载的源程序包没有二进制代码:all:。但是,当收集django pyodbc azure==2.0.4.1时,此操作失败,因为此包没有源。是否有办法下载源代码,或者如果不存在,下载weehl?如果不指定平台,它将下载当前操作系统的文件。因此,如果您在其他操作系统上安装下载的文件,这将不起作用