当目标主机无法通过其代理下载时,先在获批的可用链路上用受支持的 fetcher 准备数据集,再传输兼容的缓存。在目标主机上:

from sklearn.datasets import fetch_20newsgroups

dataset = fetch_20newsgroups(
    data_home='/path/to/prepared-scikit-data',
    download_if_missing=False,
)

数据缺失时 download_if_missing=False 会抛出 OSError;它不会尝试其他下载路径。用该结果区分“准备缺失”和后续的数据操作。

与目标主机的缓存位置保持一致。get_data_home 报告默认位置,而 SCIKIT_LEARN_DATA 或显式指定的 data_home 可以改变它。其他用户主目录中的缓存不会在这里自动可见。

使用兼容的库版本和 fetcher 本身创建缓存。tar 归档或手工制作的内置 pickle 不能与受支持的结果互换。

对于实时下载,请在 Python 启动前配置实际下载器的代理环境。当数据集主机是公开的且允许通过公共代理下载时,HTTP 代理列表可为下载器的 HTTP 代理环境变量提供候选。安装 scikit-learn 或使用随附的 load_* 示例并不会真正执行网络数据集获取。

相关文章