【问题标题】:create conda env with specific python version, with that python package predownloaded使用特定的 python 版本创建 conda env,并预先下载该 python 包
【发布时间】:2020-09-18 07:19:37
【问题描述】:

我正在尝试使用特定的 python 版本创建一个 Conda env,例如,

conda create --name my_env python=3.6

给出:

Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /Users/*/anaconda3/envs/my_env

  added / updated specs:
    - python=3.6


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    python-3.6.12              |       h26836e1_2        16.9 MB
    ------------------------------------------------------------
                                           Total:        16.9 MB

The following NEW packages will be INSTALLED:

  ca-certificates    pkgs/main/osx-64::ca-certificates-2020.7.22-0
  certifi            pkgs/main/osx-64::certifi-2020.6.20-py36_0
  libcxx             pkgs/main/osx-64::libcxx-10.0.0-1
  libedit            pkgs/main/osx-64::libedit-3.1.20191231-h1de35cc_1
  libffi             pkgs/main/osx-64::libffi-3.3-hb1e8313_2
  ncurses            pkgs/main/osx-64::ncurses-6.2-h0a44026_1
  openssl            pkgs/main/osx-64::openssl-1.1.1g-h1de35cc_0
  pip                pkgs/main/osx-64::pip-20.2.2-py36_0
  python             pkgs/main/osx-64::python-3.6.12-h26836e1_2
  readline           pkgs/main/osx-64::readline-8.0-h1de35cc_0
  setuptools         pkgs/main/osx-64::setuptools-49.6.0-py36_0
  sqlite             pkgs/main/osx-64::sqlite-3.33.0-hffcf06c_0
  tk                 pkgs/main/osx-64::tk-8.6.10-hb0a8c7a_0
  wheel              pkgs/main/noarch::wheel-0.35.1-py_0
  xz                 pkgs/main/osx-64::xz-5.2.5-h1de35cc_0
  zlib               pkgs/main/osx-64::zlib-1.2.11-h1de35cc_3

但是由于我在尝试下载 python 包时继续收到此错误:

Downloading and Extracting Packages
python-3.6.12        | 16.9 MB   | ###################################################################################6                             |  75% 

CondaError: Downloaded bytes did not match Content-Length
  url: https://repo.anaconda.com/pkgs/main/osx-64/python-3.6.12-h26836e1_2.conda
  target_path: /Users/*/anaconda3/pkgs/python-3.6.12-h26836e1_2.conda
  Content-Length: 17674328
  downloaded bytes: 13207996

我决定先通过curl下载python包:

curl https://repo.anaconda.com/pkgs/main/osx-64/python-3.6.12-h26836e1_2.conda --output /Users/*/anaconda3/pkgs/python-3.6.12-h26836e1_2.conda

但是,当我再次运行 create env 命令时,我看到它正在尝试再次下载包包...有没有办法告诉 conda 从我已经下载的包中安装而不是再次下载它?提前谢谢!!!

【问题讨论】:

  • 尝试将所有下载内容放在您的pkgs_dirs 目录中(请参阅conda info),然后运行带有--offline 标志的conda create 命令。

标签: python macos conda


【解决方案1】:

下载失败。软件包未完全下载并损坏。

清理包缓存并重新安装python 3.6。

conda clean --tarballs

# if my_env is not created
conda create --name my_env python=3.6

# else if my_env has been created already
conda activate my_env
conda install python=3.6 -y

不要尝试手动下载 python 包。原因

  1. python 依赖于其他包(大约 14 个其他 pkg),您必须遍历依赖关系树并一一下载每个依赖项。
  2. 仅将 python pkg 放入 conda 缓存是不够的。解压.conda 文件后会写入附加信息。

【讨论】:

  • 感谢您的回答。但是为什么我想尝试手动下载包是因为'conda create'启动的下载由于我的连接不良而始终失败......
猜你喜欢
  • 2020-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-09-23
  • 2016-06-12
  • 1970-01-01
  • 2019-05-15
  • 2019-06-29
相关资源
最近更新 更多