如果我想使用pip
命令下载软件包(及其依赖项),但保留所有下载的压缩文件(例如,django-socialregistration.tar) .gz) - 有办法吗?
我尝试了各种命令行选项,但似乎总是解包并删除 zipfile - 或者它获取zip文件,但仅用于原始包,而不是依赖。
答案 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
答案 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
,因此替换install
与download
合作。
答案 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)
对于 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*>
这将在该位置搜索依赖项。