不同的python项目可能会用到不同的包,而不同的包或不同的python版本之间可能存在冲突。因此,为每个项目创建不同的虚拟环境非常有用。它可以保证一个项目只访问,它所在虚拟环境下安装的包,保持全局解释器的干净整洁,而且由于环境是独立的,因此不需要超户权限。
创建虚拟环境的方式一般有以下几种。
一种是自Python 3.3增加的用于创建虚拟环境的venv标准库。
使用这种方法会在指定目录下,创建一个指定虚拟环境名字的文件夹。
像下面这样,在我创建了一个名为 vir1 的虚拟环境后,产生了一个对应的文件夹 ‘vir1‘ :
它的目录结构如下:
如果在安装过程中,预装的python3 提示没有 venv 库,那么输入这条命令:
创建成功后找到activate文件所在位置,使用source命令激活虚拟环境:
看到命令提示符前的 (vir1) ,说明已经进入到了 vir1 虚拟环境。
环境中python的版本为python3:
想要退出虚拟环境,在随意一个路径下输入deactivate即可:
当你想要删除创建的虚拟环境时,使用rm命令直接删除就行:
python2没有集成venv标准库,因此我们需要使用一个叫做 virtualenv 的第三方工具来创建虚拟环境。
首先执行下面的命令安装virtualenv:
之后我创建了一个名为vir2的虚拟环境:
如果你的系统同时存在python2 和 python3 两个版本,使用这种方法会在虚拟环境中同时安装上它们两个,不过你也可以指定安装的python版本,像下面这样:
现在你就可以在激活虚拟环境后,安装你需要的包而不用担心,不同项目之间的包或版本之间的冲突了。
当你想要删除创建的虚拟环境时,和上面一样使用 rm 命令删除对应的文件夹。
还有一种方法是使用virtualenvwrapper辅助工具。
这是官方文档中的内容:
首先安装,virtualenvwrapper:
之后依次输入:
但在之后的步骤里,我们没有成功,还出现了这样一条提示:
手把手教你搭建Python虚拟环境,还不会的同学收藏学习哦!
告诉我们没有这样的文件或文件夹,这是因为在 Ubuntu18.04 系统中,通过 pip 安装 virtualenvwrapper 得到的 virtualenvwrapper.sh 文件被安装在了~/.local/bin/目录下,而不是文档中告诉我们的
/usr/local/bin/virtualenvwrapper.sh
因此,做适当更改后输入:
成功!!!
如果仅仅这样,那么在今后的操作中你将总是要输入:
否则,就会出现下面这样的提示:
为避免今后繁复的操作,找到.bashrc 文件:
并在 ".bashrc" 文件中添加红圈中所包含的两行:
并执行source ~/.bashrc 命令:
下面创建虚拟环境:
可以看出,创建完虚拟环境它就被直接激活了,退出的时候同样输入 deactivate 。删除虚拟环境使用 rmvirtualenv 命令:
另外,在使用virtualenvwrapper创建虚拟环境的时候,通过下面这种方法你可以指定虚拟环境所安装的python版本:
不同于python3自带的venv库,使用virtualenvwrapper,你可以在任何路径下输入 workon 命令激活你创建的虚拟环境:
好啦,以上就是我的分享,如果你跟我一样都喜欢python,想成为一名优秀的程序员,也在学习python的道路上奔跑,欢迎你加入python学习群:839383765 群内每天都会分享最新业内资料,分享python免费课程,共同交流学习,让学习变(编)成(程)一种习惯!
原文地址:http://blog.51cto.com/14186420/2349296