使用特定的python版本创建conda-env,并预先下载该python包



我正在尝试创建一个具有特定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从我已经下载的软件包中安装,而不是再次下载?提前感谢!!!

下载失败。程序包未完全下载并且已损坏。

清理包缓存并重新安装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文件后写入的

最新更新