目录
1 创建环境
conda create -n [环境名称] python=[python版本]
例如
conda create -n tensorflow python=3.6
有时会出现这种错误,我当前是在aarch平台上创建python3.6的环境
这个时候我们输入 conda config --add channels conda-forge ,之后再进行安装就可以了
- 不只创建的时候会出现这种错误,有时安装别的东西出现这种错误使用 conda config --add channels conda-forge 同样好用
2 查看环境
conda info -e
当前使用的环境会在前方标注一个星号
3 删除环境
conda remove -n [环境名称] --all
例如
conda remove -n labelimg --all
4 激活环境
conda activate [环境名称]
例如
conda activate tensorflow
5 换源
5.1 Windows换源
我们在C盘的用户下创建一个文件夹,命名为pip
我的当前我的路径是 C:\Users\MSI
在pip文件夹中创建一个文本文档,先使用默认名称就行最后修改名称,在文档中输入下列内容
[global]
timeout = 6000
index-url = Simple Index
trusted-host = pypi.douban.com
我现在使用的是豆瓣源,也可以换成清华源,阿里源等
将文本文档重命名为pip.ini
5.2 Linux换源
在home下创建文件夹.pip,在其中新建文本文件,命名为pip.conf。在其中输入如下内容
6 克隆环境
有时候我们要创建一个新的环境时没有网络,这个时候我们可以使用克隆环境
比如
- conda create -n test --clone base
这样就可以在无网络的状态下创建一个新的环境
7 重命名环境
conda中没有直接重命名环境的命令,但是我们可以通过一下两步模拟重命名的操作
- 克隆当前环境,同时给新环境一个想要的名字
- 删除旧环境
比如我现在想把名为paddle的环境重命名为paddle1
输入 conda create -n [重命名后的名称] --clone [重命名前的名称]
比如
- conda create -n paddle1 --clone paddle
之后删除旧的环境
这个时候就重命名完毕了
8 复制环境列表到文本文档
当我们需要给客户交付代码时通常要同时交付环境,此时我们需要冻结pip list
激活环境后,我们输入
- pip freeze > requirements.txt
运行之后,它会在我们运行的目录下生成requirements.txt
我上面的例子目录为 C:\Users\MSI
交给对方后,对方创建完一个新的环境后,输入(此时requirements.txt需在对方操作路径下)
- pip install -r requirement.txt
这样即可获得与我们相同的环境
我们有时在部署项目的时候如果使用requirement.txt会有很多库装不上,装不上pip install -r requirement.txt就会中断,这样就很烦,所以我们可以自己写一个脚本
import os
fail_install_txt = open('fail_install.txt','w')
with open('requirements.txt','r') as f:
require_list = f.read().splitlines()
for i in require_list:
result = os.system('pip3 install ' + i)
if result != 0:
print(i,file=fail_install_txt,flush=True)
- os.system()如果没安装成功就会返回非0的值
将requirements.txt放在与这个脚本同名的目录下,然后运行,这样遇到错误就不会中断的
有的时候其实是安装库前后的问题,出错的东西该装还是要装的,出了错库会放到 failed_install.txt 中,到时候你再解决他们
9 anaconda prompt光标消失
在anaconda prompt中有时会出现光标消失的情况
这个我们如果编辑很多的内容的时候,我们找不到光标就很麻烦,这个时候重新开启anaconda窗口可以解决问题,但是大多数情况我们是不想重新开启窗口的
这个时候你切到中文的输入法,然后输入几个拼音
这个时候你不要按1,直接按shift
这个时候就会发现消失的光标重新出现了
10 修改anaconda prompt起始位置
参考 Anaconda Prompt切换路径/工作目录_anaconda prompt切换目录_小白白程序员的博客-CSDN博客
找到Anaconda prompt的快捷方式
修改前是这样的
修改后是这样的
11 环境移植
环境移植的前提条件有两个
- 两个机器必须使用相同类型的系统,比如linux只能移植给linux。windwos只能移植给windows
- 两个机器必须都有anaconda(anaconda的版本可以不同。可支持的最高python版本可以不同。anaconda的安装路径可以不同)
11.1 windows移植
我把windows11的环境移植给windows10
11.1.2 安装 conda-pack
pip install conda-pack
11.1.2 打包需要移植的环境
比如我要打包labelimg这个环境
那么就执行 conda pack -n labelimg
- labelimg是环境名称
打包完成后会在当前路径下生成与环境名同名的gz文件
gz文件比envs中的环境文件夹体积要小
11.1.3 放置环境
我们先看一下被移植的conda环境。需要保证被移植的anaconda中没有将要移植环境的同名环境,也就是新的机器里不能有叫labelimg的环境
创建一个移植环境同名的文件夹,然后把这个gz文件解压到里面
然后把 labelimg 这个文件夹复制到 anaconda安装路径下的envs 中,我当前是F:\ananconda\envs\
这时就有labelimg这个环境了
可以正常激活并使用它
但是如果对于一些特殊的东西,还需要再进行一步,比如我想打开labelimg环境中的labelimg软件。在labelimg环境的内部会有一些问题
这个时候我们只能再把环境复制一次,复制到它之前待的地方。比如我安装conda-pack的机器,labelimg在 E:\Anaconda\envs 中,那么我们就需要复制labelimg到 E:\Anaconda\envs
实际就是新建几个文件夹的事情
复制之后就能正常使用了
11.2 linux移植
我把ubuntu 22.04.3的环境移植给 ubuntu 20.04.6
11.2.1 安装 conda-pack
11.2.2 打包需要移植的环境
我打包 paddle_2_1_2 这个环境
11.2.3 放置环境
创建一个名为 paddle_2_1_2 的文件夹,把paddle_2_1_2.tar.gz解压到里面
把paddle_2_1_2这个文件夹复制anaconda的envs下
之后就可以激活并使用了,即使是环境中的软件jupyter lab也是可以使用的
- 例子中的移植环境与被移植环境的用户名不同
经测试可以对环境进行安装和卸载