下载 conda 数据科学库而不解压包

jsq*_*sqs 2 download conda data-science

我想使用数据科学库 NumPy、Pandas、Pytorch 和 Hugging Face 转换器创建一个 Python 环境。我用来miniconda创建环境并下载和安装库。中有一个标志conda install--download-only用于下载所需的软件包而不安装它们,然后从本地目录安装它们。即使只是conda下载软件包而不安装它们,它也会提取它们。

是否可以下载软件包而不解压它们并在安装前解压它们?

mer*_*erv 6

CLI 中没有简单的命令来阻止提取步骤。提取被视为在运行将包传输到指定环境的操作FETCH之前填充包缓存的操作的一部分。LINK

另一种选择是手动执行某些操作。天真地,人们可以搜索 Anaconda Cloud 并手动下载,但是,最好通过求解器来确保包兼容性。可以通过包含该标志来查看要运行的操作的所有信息--json。可以将其过滤为仅 tarball URL,然后直接下载。这是一个类似这样的脚本(假设是 Linux/Unix):

文件:conda-download.sh

#!/bin/bash -l
conda create -dn null --json "$@" |\
    grep '"url"' | grep -oE 'https[^"]+' |\
    xargs wget -c
Run Code Online (Sandbox Code Playgroud)

可以用作

./conda-download.sh -c conda-forge -c pytorch numpy pandas pytorch transformers
Run Code Online (Sandbox Code Playgroud)

也就是说,它接受所有参数,并将在本地conda create下载所有 tarball 。

忽略缓存的包

如果您已经缓存了一些包,那么上述内容将不会重新下载它们。相反,如果您希望下载环境所需的所有 tarball,那么您可以使用此替代版本,它使用空的临时目录覆盖包缓存:

文件:conda-download-all.sh

#!/bin/bash -l
tmp_dir=$(mktemp -d)

CONDA_PKGS_DIRS=$tmp_dir conda create -dn null --json "$@" |\
    grep '"url"' | grep -oE 'https[^"]+' |\
    xargs wget -c

rm -r $tmp_dir
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

1782 次

最近记录:

3 年,6 月 前