python创建虚拟环境的作用,python虚拟机原理
这篇文章将带你了解虚拟环境。对于刚使用Python的新手来说,使用虚拟环境的概率可能较低,但我们还是要了解一下。让我们跟着边肖学。
00-1010了解Python虚拟环境终端演示中的虚拟环境工具本章我们学习虚拟环境,对于刚使用Python的新手来说,使用虚拟环境的概率可能较低。但是我们还是要了解一下。
目录
在我们通常的工作环境中,可能会出现一台计算机有多个版本的python的情况。例如,我们有一个Python2.7版本和一个Python3.8环境,这两个版本都存在于我们当前的系统中。这就造成了一个问题,两个版本在同一个环境下,导致了pip和第三方包的冲突。
为了解决这个问题,我们创建了一个Python2.7虚拟环境和一个Python3.8虚拟环境。Python2.7的环境只是Python 2.7的pip和解释器,而Python3.8也可以创建自己的环境。
这两个环境独立存在,互不冲突,互不影响,这就是虚拟环境的功能和目的。我们只需要在各自的虚拟环境中安装所需的软件版本。这些软件和指定版本只需要针对当前虚拟环境,不会影响其他虚拟环境。
认识虚拟环境
用python创建虚拟环境的软件有哪些:
Virtualenv:一个非常常见的虚拟环境工具。
1.这取决于当前系统中的Python版本。
2.它简单易用,因此受到大多数Python爱好者的追捧。
Pyenv:和Virtualenv一样,是一个创建虚拟环境的工具。
1.不依赖于当前系统的Python版本。只要是Python拥有的版本,pyenv就可以在当前计算机上创建一个虚拟环境(先在本地安装需要的版本,然后虚拟化。)
2.缺点:操作太复杂,也要看Virtualenv。我们可以理解pyenv最终依靠Virtualenv来创建虚拟环境。
由于pyenv操作相对复杂,本章主要介绍Virtualenv的用法。以后等你对python更精通了,关注pyenv就更容易了。
Python中的虚拟环境工具
Virtualenv也是Python的第三方包,和ipython一样在命令行终端使用。
1.通过pip install virtualenv下载并安装。
2.安装完成后,我们要在那个目录下创建虚拟环境,所以需要提前进入对应的目录文件夹,这也是创建虚拟环境的目录。
3.进入选中的文件夹后,执行virtualenv -p python3 penv (-p是选择python的版本。如果要指定版本号,可以使用-p python 3.6;Penv是指定虚拟环境的名称)。
4.在选中的文件夹中执行virtualenv -p python3 penv命令时,会在当前目录下创建一个penv文件夹,该目录是运行的虚拟环境目录。
5.接下来,打电话。/penv/bin/active启动虚拟环境;如果windows环境可以直接进入/penv/bin目录,直接执行active启动虚拟环境。
6.如果要退出虚拟环境,可以直接执行deactivate退出当前虚拟环境。
需要注意的是,我们执行的虚拟环境只在我们当前的终端中有效。如果我们打开多个终端终端,并且每个终端都需要处于虚拟环境中,我们需要在每个终端上执行上述操作。
Virtualenv
下载:pip安装virtualenv
安装完成后,我们通过命令VirtualEnv-P Python 3.10 python3.10_env创建一个名为Python 3.10 _ env的虚拟环境,我们会发现在当前路径下已经创建了对应虚拟环境的文件夹,如下图所示:
接下来我们上python3.1。
0_env 路径下,执行 ./python3.10_env/bin/activate 命令 进入到我们的虚拟环境。这里我遇到了两个问题。
第一个问题:没有可执行权限,报错 zsh: permission denied: ./python3.10_env/bin/activate ,这是因为 用户没有权限,所以才出现了这个错误,所以只需要用chmod修改一下权限就可以了。
第二个问题:在执行 ./python3.10_env/bin/activate 的时候,提示 You must source this script: $ source ./python3.10_env/bin/activate ; 意思是 我必须使用 source ./python3.10_env/bin/activate 这个命令才能执行 python3.10_env 的虚拟环境(因为我用的是Mac的原因,才会出现这个情况,不晓得 WIN电脑会不会有这个情况。)
执行 source ./python3.10_env/bin/activate 尝试执行我们已经安装好的 ipython ,发现无法执行,这是因为我们是虚拟环境。虽然物理环境安装了 ipython ,但是因为我们的虚拟环境是与物理环境完全隔离的,所以 python3.10_env 是一个很干净的环境,并没有 ipython。
再查看一下当前虚拟环境的 python 解释器 ,如下图:
如果需要退出虚拟环境 , 执行 deactivate 。需要注意的是,当退出虚拟环境之后,当前终端所处的环境并不是我们进入 虚拟环境前的环境,而是本地环境,所以如果想要保持之前进入的环境状态,只需要关闭 Terminal 终端,重新进入即可。
在平时的工作中,一台电脑中可能要开发多个项目,但是多个项目可能使用相同的包,但是确实不同的版本。所以如果我们在一个公共的大环境下,就没办法保证一个包的多个版本安装进去,所以我们就可以通过虚拟环境根据每个不同的项目使用不同的包的不同的版本,这样既不互相冲突,又保证了单独项目的独立性与完整性。
到此这篇关于Python学习之虚拟环境原理详解的文章就介绍到这了,更多相关Python虚拟环境内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。