目录

anaconda-离线安装Python环境

anaconda 离线安装Python环境

需求

在离线环境下,使用anaconda创建环境的时候,需要指定Python的版本,但是无法自动下载,需要手动下载Python包,然后用conda进行安装。

https://i-blog.csdnimg.cn/blog_migrate/ffaa52820968235c5a0b6a4056b611b9.png

解决

首先下载Python包,在 https://repo.anaconda.com/ 中选择 Anaconda Packages

https://i-blog.csdnimg.cn/blog_migrate/d8fe169c7d8584b919f524d30459abbc.png

可以看到里面有Python包也有R包还有Microsoft R Open等一些包,然后选择Python的相关包:

https://i-blog.csdnimg.cn/blog_migrate/49691870ce3a496e543d3a454f1329e4.png

最终打开的页面:

https://i-blog.csdnimg.cn/blog_migrate/bf2fb9679de796b3fdffbb73c00647c4.png

也可以通过 https://repo.anaconda.com/pkgs/main/linux-64/ 直接打开。

有时,这个页面比较大,很难打开,无法获取文件的下载链接,可以通过 wget https://repo.anaconda.com/pkgs/main/linux-64/ 来将页面下载到本地,用文本编辑器打开,然后获取到文件名,通过URL: https://repo.anaconda.com/pkgs/main/linux-64/python-3.6.13-h12debd9_1.tar.bz2 来下载。

这里我选择了 python-3.6.13-h12debd9_1.tar.bz2 , 同时安装pip, pip-20.3-py36h06a4308_0.tar.bz2

  1. ~/anaconda3/envs/ 目录下,新建一个空文件夹,目录名为环境名,使用 conda env list 查看环境列表时并不会显示该环境名称;这里我创建一个test环境名。

    https://i-blog.csdnimg.cn/blog_migrate/9ea1112db73042cd8f0605268ec6be77.png

  2. 但是可以进入新建的环境:使用 conda activate +环境名进入新环境

    https://i-blog.csdnimg.cn/blog_migrate/d2f7f37276cba730a72538afa69596e5.png

    有时候提示 Use 'conda create' to convert the directory to a conda environment. 这时需要通过 conda create --name test --offline 来创建一个空环境

  3. 然后在当前环境下安装Python: conda install python-3.6.13-h12debd9_1.tar.bz2

有时候会报错:

requests.exceptions.ConnectionError: HTTPSConnectionPool(host=‘repo.anaconda.com’, port=443): Max retries exceeded with url: /pkgs/main/notices.json (Caused by NewConnectionError(‘<urllib3.connection.HTTPSConnection object at 0x7fb9a8912dc0>: Failed to establish a new connection: [Errno 101] Network is unreachable’))

可以使用命令 conda install python-3.6.13-h12debd9_1.tar.bz2 --offline 来解决

https://i-blog.csdnimg.cn/blog_migrate/eeaf9d2f38420f6529461d73a7a914fd.png

  1. 在新的环境中可以看到安装的Python

https://i-blog.csdnimg.cn/blog_migrate/234dbe0cca9f1136761fbfe3b9592851.png

  1. 安装pip, conda install pip-20.3-py36h06a4308_0.tar.bz2

https://i-blog.csdnimg.cn/blog_migrate/e50996b2383c743d73c878633156fe6a.png

  1. 此时安装的pip位于新建环境中,输入pip –version 查看pip应位于新建环境目录下。

https://i-blog.csdnimg.cn/blog_migrate/f79b4593e0946f2e4790667ffb66632c.png

conda查看依赖

我们创建一个离线环境: conda create --name py3.10_test --offline ,并且切换到这个环境: source activate py3.10_test

安装python,但是我们现在不知道下载python哪个版本,也不知道对应的依赖,应该怎么办?

解决办法:

使用 conda install --download-only python==3.10 ,可以下载python3.10版本。

可以将所需要下载的依赖包,保存到requirements.txt文件中 conda install –download-only –no-deps –file ./requirements.txt;

控制台输出如下:

https://i-blog.csdnimg.cn/blog_migrate/9ef021d8d7b68a7a12dd59865f25eae2.png

上面列出了 python 3.10 所依赖的包。依次在 https://repo.anaconda.com/pkgs/main/linux-aarch64/ 下载即可。

将下载的文件拷贝到离线环境中,执行命令: conda install --offline ./*.tar.bz2 可以安装所有的依赖。