微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决下载 conda 数据科学库而不解压缩包

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

是否可以下载软件包而无需解压,然后在安装前解压?

解决方法

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

可以用作

./conda-download.sh -c conda-forge -c pytorch numpy pandas pytorch transformers

也就是说,它接受所有 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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。