Conda虚拟环境安装
所谓虚拟环境可以理解为:通过软件控制达到不同环境的虚拟切换,而不限于唯一的真实安装环境。所以自然可以实现不同版本的包共存,只需要用虚拟环境将其分开。也就是:一台机器上通过虚拟环境控制不同版本
python
,不同版本的
pytorch
等等,类似系统镜像实现了多个系统同时存在一个实体机器里面。
为了实现虚拟环境的完美复制,请先使用environment.yaml
再使用requirements.txt
,不要落下任何一个。
1 requirements.txt
安装
通过pip
存储已有环境到requirements.txt
文件中
pip freeze > requirements.txt
通过pip
安装该环境:
# 创建环境依赖:通过requirements.txt内包(主要是torch、torchvision等)的版本确定python的版本号
# 创建虚拟环境:conda create -n <env_name> python=<3.8.0>
# 删除环境:conda remove -n <env_name> --all
# 但这样删除环境不是很彻底,还会有文件无法删除,导致这个文件夹还在,所以我们到安装anaconda的文件夹下找到envs文件夹,然后删除<env_name>这个文件夹。
conda create -n <env_name> python=3.8.0 # (也可直接激活.yaml文件头提到的环境名称)
# 建议使用3.8.0版本的python 理由如下
# 1. https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-python.html
# 2. vscode 中的python扩展插件的默认安装版本不再支持python3.7以下的了,为了减少不必要的操作建议直接按转3.8.0: https://blog.csdn.net/weixin_39916966/article/details/125737069。(debug扩展插件——Pylance需要比python扩展插件更早才能正常在vscode中debug)
# 3. 具体python版本,可以参考torch包中涉及的cp3*,表示cython版本:https://download.pytorch.org/whl/torch_stable.html
source activate <env_name> # 激活新建的虚拟环境
# pip 安装环境
pip install -r requirements.txt
# 或者使用 conda 安装环境
conda install --file requirements.txt
以上用pip
安装环境时,只对当前环境使用的 python 安装指定包;用conda
安装环境时,会检索并解决包依赖问题,但是下载速度很慢。
1.1 实操:先确定pytorch
版本,再安装
- 先创建python虚拟环境:
conda create -n <env_name> python=3.8.0
- 再安装其他的包:
pip install -r requirements.txt
(需要说明的是,1)注意一下cuda的版本;2)requirements.txt
中的内容不是 pip freeze > requirements.txt 生成的,而是直接手工创建的)- 2.1 先
nvidia-smi
查看cuda版本。当前版本为12.0
- 2.2 上pytorch官网https://pytorch.org/get-started/previous-versions/找安装代码,这里使用老版本的
pytorch
(开发版本pytorch-lightning
类似)这种只能在固定网络才能下载,通常要求pytorch
自带cuda
,这时就得到网页找pytorch
。
假如安装命令是pip install torch==2.0.1+cu118 torchvision==0.15.2+cu118 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu118
,则requirements.txt
文件内容如下:# reuqirements.txt文件内容 --find-links https://download.pytorch.org/whl/torch_stable.html torch==2.0.1+cu118 # 注意这里是torch,不是pytorch torchvision==0.15.2+cu118 torchaudio==2.0.2
- 2.5 pip安装:
pip install -r requirements.txt
- 2.1 先
1.2 安装最新版的pytorch
作为一个合格的科研狗,用稳定版的pytorch是满足不了日常科研需求的,使用最新的pytorch-nightly才是正道。
最新版本的发布网站: https://download.pytorch.org/whl/
但不幸的是,因为依赖问题,直接下载这些包并使用pip install xxx.whl
很难安装成功。因此推荐指定下载网址的方式进行安装:
pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu118
2 conda
安装
conda
安装主要在安装torch和tensorflow环境时用到:
- 装
python
环境:conda create -n tf python=3.8
- 安装torch或者tensorflow
- 安装
pytorch
:官网https://pytorch.org/get-started/locally/搜到使用命令:conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
,直接安装。 - 安装
tensorflow-gpu
:conda install -c anaconda tensorflow-gpu=2.1
# (可以先conda search tensorflow
搜一下有什么可选的版本
- 安装
- 安装其他的包:
conda install absl-py, scipy=1.2.0, keras
3 environment.yaml
安装
通过conda
存储已有环境到environment.yaml
文件中
conda env export > environment.yaml
通过conda
创建该环境:
conda env create -f environment.yaml
.yaml
文件只储存了环境中用conda install
等命令安装的包,而没有存储用pip
之类安装的包,因此要求配合以下requirements.txt
的安装方式一起使用,才能移植虚拟环境。
4 离线安装
- 创建一个新环境并激活
- 从
https://anaconda.org/anaconda/repo
下载相关包(*.bz2)并移到不能上网的服务器 - 使用
conda install .
进行安装,比如说:conda install python-3.6.4-hc3d631a_1.tar.bz2
,其中python-3.6.4-hc3d631a_1.tar.bz2
存在当前路径下 - 验证是否安装成功
conda list python