anaconda-离线安装Python环境
anaconda 离线安装Python环境
需求
在离线环境下,使用anaconda创建环境的时候,需要指定Python的版本,但是无法自动下载,需要手动下载Python包,然后用conda进行安装。
解决
首先下载Python包,在
https://repo.anaconda.com/
中选择
Anaconda Packages
。
可以看到里面有Python包也有R包还有Microsoft R Open等一些包,然后选择Python的相关包:
最终打开的页面:
也可以通过
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
在
~/anaconda3/envs/
目录下,新建一个空文件夹,目录名为环境名,使用conda env list
查看环境列表时并不会显示该环境名称;这里我创建一个test环境名。但是可以进入新建的环境:使用
conda activate +环境名进入新环境
;有时候提示
Use 'conda create' to convert the directory to a conda environment.
这时需要通过conda create --name test --offline
来创建一个空环境然后在当前环境下安装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
来解决
- 在新的环境中可以看到安装的Python
- 安装pip,
conda install pip-20.3-py36h06a4308_0.tar.bz2
- 此时安装的pip位于新建环境中,输入pip –version 查看pip应位于新建环境目录下。
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;
控制台输出如下:
上面列出了
python 3.10
所依赖的包。依次在
https://repo.anaconda.com/pkgs/main/linux-aarch64/
下载即可。
将下载的文件拷贝到离线环境中,执行命令:
conda install --offline ./*.tar.bz2
可以安装所有的依赖。