近期需要在多个场景下进行实验,而不同场景的测试脚本所需的环境配置不同,所以疲于在服务器上配置不同的环境。因为这个成功地被mentor喷了个半死,在mentor的提示下才想起配置虚拟环境这回事(果然打基础的时候不能偷懒啊。。。。)
于是对配置和使用进行了回顾和整理。网上的版本有很多,有的不全,有的感觉不太靠谱,整理了一下自己觉得挺方便的流程。(本文内容是对网上现有资源的整理和个人笔记,感谢大家的分享!)
由于Python有2.x和3.x两个大的版本,而且每一个project建立所用的各种包的版本也不尽相同,根据每个project而改变系统配置过于繁琐,且不利于多用户使用同一台服务器(一人更改,全家受累!)。
anaconda 和virtualenv整体差不多,不过它更加集中于科学计算方面的内容,所以许多科学计算包可以通过anaconda来进行管理。
Anaconda是python的发行版,将python和许多常用的package打包,方便使用。
virtualenv是第三方包可以创建管理虚拟环境。
对比之下感觉Anaconda管理比较方便,于是本文重点介绍如何使用Anaconda配置python虚拟环境。
步骤如下:
为便于远程操作,也可直接命令行下载。例如,从官网右键复制安装包下载地址:https://repo.anaconda.com/archive/Anaconda3-2020.07-Linux-x86_64.sh
直接命令行下载:
wget https://repo.anaconda.com/archive/Anaconda3-2020.07-Linux-x86_64.sh
bash Anaconda3-2020.07-Linux-x86_64.sh
然后一阵Enter, 遇到
Do you accept the license terms? [yes|no](你接受许可证条款吗?)
直接输入yes 然后按enter,进入下一步
接下来会提示安装地址:Anaconda3 will now be installed into this location:
/home/aeasringnar/anaconda3
然后,继续一阵enter和yes之后就安装成功了(其中一个step如果vscode不想安装,可以选no,懒得看的话直接一阵yes+enter)。
一般情况下,anaconda会自动将环境变量添加到PATH里面。(当然,这里说一班情况,那肯定有二班的情况。)如果后面你发现输出conda提示没有该命令,那么你需要手动添加:
1) source ~/.bashrc 这样就是更新环境变量,就可以正常使用了。
2)如果发现这样还是没用,那么需要手动添加环境变量
编辑~/.basrc 文件(通过vim编辑),在最后面加上
export PATH=/home/XXX/anaconda3/bin:$PATH
这里 /home/XXX/anaconda3 是你的anaconda3 保存地址。保存退出后输入命令行指令:source ~/.bashrc
再次输入conda list测试看看,应该就是没有问题啦!
安装后可以查看conda版本和更新conda
#查看conda版本
conda --version
#更新conda
conda update conda
source ~/.bashrc 更新环境变量后,命令行前会出现(base)字样。之后每次进入系统,都会默认进入到该base环境。
如果想取消命令行前出现的base,回到系统原有环境,或者取消每次启动自动激活conda的基础环境,有如下两个方法:
方法一:
每次在命令行通过conda deactivate退出base环境回到系统自带的环境
方法二
1,通过将auto_activate_base参数设置为false实现:
conda config --set auto_activate_base false
2,那要进入的话通过conda activate base
3,如果反悔了还是希望base一直留着的话通过conda config --set auto_activate_base true来恢复
安装好Anaconda之后,便可以利用conda命令进行虚拟环境的配置。具体流程及常用操作如下。
conda create --name
备注:
例如:
conda create --name py36 python=3.6
此时则新建了名为py36的虚拟环境,基于python3.6.
如果要在新创建的环境中创建多个包,则直接在
conda create -n conda-test python=3.6 numpy pandas
即创建一个名为“conda-test ”的环境,环境中安装版本为3.6的python,同时也安装了numpy和pandas。 –name同样可以替换为-n。
# 切换conda环境
conda activate env_name
# 退出conda环境
conda deactivate
1) 显示安装过的所有虚拟环境
conda info --envs
或
conda info -e
或
conda env list
2)复制/克隆环境
conda create --name new_env_name --clone copied_env_name
备注:
copied_env_name即为被复制/克隆环境名。
new_env_name即为复制之后新环境的名称。
3)删除环境
conda remove --name env_name --all
1)在base下指定环境安装包
conda install --name 环境名 要安装的包名
2)进入指定环境后,在当前环境下安装包
# conda安装
conda install 要安装的包名
#pip安装
pip install 安装的包名
Reference:
[1] https://blog.csdn.net/haeasringnar/article/details/82079943
[2] https://blog.csdn.net/u014734886/article/details/90718719