作者: HexUp 2021-10-28 19:08:29
云计算
虚拟化 Python中的虚拟环境是一个很有用的功能,可以建立多个互不干扰的空间,每个空间中安装的包都是相互独立的。
创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于网站设计、成都网站建设、徐汇网络推广、重庆小程序开发公司、徐汇网络营销、徐汇企业策划、徐汇品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联公司为所有大学生创业者提供徐汇建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
前两天收到公司邮件,说在我的电脑上发现了anaconda的进程,商业软件需要付费,为了软件合规,让我卸载掉。我就借这个机会写个简单的教程。
Anaconda是一个Python的发行版 ,主要集中在科学计算的用途上,主要有三点优势:
我上网搜了一下,Anaconda确实变更了他们的授权政策,之前个人版可以用作商业用途,现在不行了。大规模商业公司的用户必须得缴费,小规模的商业用途仍然可以使用个人版(200人以下)。
我估摸着这个公司其实查的也没有那么严,属于睁一只眼闭一只眼,甚至是睁一只眼闭九只眼的状态,但是公司为了完全合规还是让我们卸载掉了这个软件。
(话说为什么不能出钱给我们买?)
其实Anaconda倒不是因为软件收费,他收费的主要对象是conda包的在线服务,也就是你从他们的服务器上下载库的话收费,单单使用conda这个软件并不收费。
然而,我用conda的场景偏偏就需要从他们的服务器上下载包,因为我主要就是管理多个python版本,这个是需要下载二进制文件的。
所以,虽然但是,我还是在不舍中卸载了,然后开始寻找替代方案。
结论是:
Python中的虚拟环境是一个很有用的功能,可以建立多个互不干扰的空间,每个空间中安装的包都是相互独立的。之所以有这个需求,是因为不同的软件依赖的包的版本是不一样的。
比如,你有一套源代码依赖TensorFlow 1.0和python3.5,然后你又下载了别人的源代码,依赖TensorFlow 2.0和python3.6,如果没有虚拟环境就很麻烦,因为Python不能安装不同版本的库到同一个环境中。但是你可以创建两个不同的Python环境,这个时候就能完美运行两套代码,互不干涉了。
下面稍微写一下conda pyenv venv的基本使用教程。
用conda创建虚拟环境的命令如下
conda create -n new_env python=3.8 numpy
其中-n new_env的意思是指定新环境的名字,这里叫new_env,python=3.8是指定python的版本,numpy是指创建环境的时候你想安装的包,可以写不止一个,也可以不写,等到创建完成了再安装。
创建完成之后,你可以通过conda activate来激活某个环境
conda activate new_env
conda的环境默认都是安装在anaconda的根目录下面,比如我的anaconda安装在/home/user/anaconda下,那么刚刚的环境就在home/user/anaconda/envs/new_env中
conda的优势在于,可以选择python版本,而且不管是不同版本的Python解释器,还是对应的包,他提供都是编译好的二进制文件,下载下来就可以直接用,不用自己编译。用pyenv也能管理多个版本,但是需要自己编译,虽然自己编译更自由,但是也需要更多技巧。
conda的缺点是,依赖计算很慢,所以安装会更久,而且网络对国内用户不太友好。
venv的用法很简单
python3 -m venv my-env
这样就创建完成了一个新虚拟环境,叫my-env,跟conda不同的是,这个my-env是放在你运行这条命令的目录下面。
创建完成之后,还需要激活,运行下面的命令激活
source my-env/bin/activate
venv的局限性在于,只能用当前的Python版本
pyenv可以用来管理多个python环境,用起来比conda稍微复杂一点点。
麻烦在哪呢?它需要下载Python的源代码自己编译,而conda都是下载好的二进制,可以直接用。我用pyenv安装python3.6的时候就遇到了编译错误,然后设置了build flag才解决。
安装某个版本:pyenv install 3.6.15
设置默认版本:pyenv global 3.6.15
装完之后就能再配合venv创建虚拟环境了。
pyenv其实自带了一个virtualenv命令,类似于conda,可以在创建虚拟环境的时候指定版本,比如
pyenv virtualenv 3.6.15 new_env
但是需要你先安装对应版本的python。
以上基本上就涵盖了Python创建和使用虚拟环境的几种方法。
当前题目:如何在Python中创建和使用虚拟环境
文章URL:http://www.shufengxianlan.com/qtweb/news19/149919.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联