使用Anaconda / Virtualenv管理Python虚拟环境

前言

经常接触Python的人一定少不了和虚拟环境打交道。通过创建虚拟环境可以轻松在多个版本的Python之间切换,灵活安装不同版本的Python以及软件包以满足多变的开发环境需求。通常管理Python虚拟环境的方法有两种:一个是使用Anaconda,另一个则是使用Virtualenv。这两种方法使用都比较简单,至于具体选择使用哪种方法基本上全看个人喜好。不过对于我来说,在资源受限的设备如嵌入式设备上会使用Virtualenv,因为它没有大的安装包,占用的资源非常小。而在通用计算机上则会使用Anaconda,因为Conda真的非常好用。下面的内容主要记录一点两者管理虚拟环境的常用操作,包括创建、查询、复制以及删除的内容。

使用Anaconda

创建虚拟环境

在安装好Anaconda后,使用Conda创建虚拟环境的命令如下:

conda create -n env_name python==x.x.x

例如我要创建名为tensorflow的虚拟环境,并且指定Python版本为3.6.9,则对应的命令为:conda create -n tensorflow python==3.6.9
在创建完成后,Linux下输入source activate tensorflow切换到创建的tensorflow虚拟环境。在Windows下对应的命令则为activate tensorflow。要退出虚拟环境,Linux下输入source deactivate,Windows下则输入deactivate即可。

查询

在创建虚拟环境后,可输入conda info -e或者conda env list命令查询全部创建的虚拟环境信息。

复制

有时出于方便,不想从头创建环境及安装各种包,那么可直接复制一个类似的虚拟环境进行使用。使用Conda复制虚拟环境的命令如下:

conda create -n env_name --clone target_env_name

例如我想再创建一个名为tensorflow-2.3的虚拟环境,但实际上这两个环境之间除了tensorflow版本不同,其他的基本一样。在这种情况下,可直接使用conda create -n tensorflow-2.3 --clone tensorflow命令克隆此tensorflow虚拟环境,然后更换一下tensorflow版本即可。当然这个用法还可以用来修改虚拟环境的名字,不过倒是没什么必要,除非名字实在是丑。。

删除

如果发现机器上的虚拟环境过多,占用了太多磁盘空间,并且有的已经基本不用了。那么可以执行如下命令删除多余的虚拟环境释放磁盘空间:

conda remove -n env_name --all

例如我想把之前创建的名为tensorflow的虚拟环境删除掉,那么对应的命令为:conda remove -n tensorflow --all

使用Virtualenv

Virtualenv与Anaconda有一些不同的是前者是Python的一个包,而后者则包含一个版本的Python。因此在使用Virtualenv之前需要先进行安装,以Python3为例,安装的命令如下:

pip3 install virtualenv

在Ubuntu上也可使用sudo apt-get install virtualenv命令进行安装。
在安装完成后,如果需要创建名为tensorflow的虚拟环境,则需要在指定存放虚拟环境的目录下先执行mkdir tensorflow,然后再执行命令python3 -m virtualenv -p python3 tensorflow。安装完成后可在tensorflow目录下看到相应的文件。
要切换到创建的虚拟环境输入source tensorflow/bin/activate即可,要退出则输入deactivate。可以看出创建的文件夹即是一个完整的虚拟环境。如果要删除虚拟环境的话,直接删除掉对应的文件夹即可。
当然,如果嫌麻烦的话,也可以安装VirtualenvWrapper来简化操作,具体的教程可参考Ubuntu中配置Python虚拟环境Virtualenv,在这里就不再做过多赘述了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值