运维开发网

Python学习的虚拟环境原理详细介绍

运维开发网 https://www.qedev.com 2022-04-17 15:22 出处:网络
本文将带大家学习一下虚拟环境的相关知识,虚拟环境对于刚刚使用Python的初学者来说使用的概率可能会比较低,但是我们依然要对它有一定的了解。快跟随小编一起学习一下吧

本文将带大家学习一下虚拟环境的相关知识,虚拟环境对于刚刚使用Python的初学者来说使用的概率可能会比较低,但是我们依然要对它有一定的了解。快跟随小编一起学习一下吧

本章学习虚拟环境,对于刚使用Python的新手来说,使用虚拟环境的概率可能较低。但是我们还是要了解一下。


认识虚拟环境

在我们通常的工作环境中,可能会出现一台计算机有多个版本的python的情况。例如,我们有一个Python2.7版本和一个Python3.8环境,这两个版本都存在于我们当前的系统中。这就造成了一个问题,两个版本在同一个环境下,导致了pip和第三方包的冲突。

为了解决这个问题,我们创建了一个Python2.7虚拟环境和一个Python3.8虚拟环境。Python2.7的环境只是Python 2.7的pip和解释器,而Python3.8也可以创建自己的环境。

这两个环境独立存在,互不冲突,互不影响,这就是虚拟环境的功能和目的。我们只需要在各自的虚拟环境中安装所需的软件版本。这些软件和指定版本只需要针对当前虚拟环境,不会影响其他虚拟环境。


Python中的虚拟环境工具

用python创建虚拟环境的软件有哪些:

Virtualenv:一个非常常见的虚拟环境工具。

1.这取决于当前系统中的Python版本。

2.它简单易用,因此受到大多数Python爱好者的追捧。

Pyenv:和Virtualenv一样,是一个创建虚拟环境的工具。

1.不依赖于当前系统的Python版本。只要是Python拥有的版本,pyenv就可以在当前计算机上创建一个虚拟环境(先在本地安装需要的版本,然后虚拟化。)

2.缺点:操作太复杂,也要看Virtualenv。我们可以理解pyenv最终依靠Virtualenv来创建虚拟环境。

由于pyenv操作相对复杂,本章主要介绍Virtualenv的用法。以后等你对python更精通了,关注pyenv就更容易了。


Virtualenv

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退出当前虚拟环境。

需要注意的是,我们执行的虚拟环境只在我们当前的终端中有效。如果我们打开多个终端终端,并且每个终端都需要处于虚拟环境中,我们需要在每个终端上执行上述操作。


Treminal 终端演示

下载:pip安装Virtualenv


安装完成后,我们通过命令VirtualEnv-P Python 3.10 python3.10_env创建一个名为Python 3.10 _ env的虚拟环境,我们会发现在当前路径下已经创建了对应虚拟环境的文件夹,如下图所示:


接下来,我们输入创建的python3.10_env路径并执行。/python3.10_env/bin/activate命令进入我们的虚拟环境。我这里有两个问题。

第一个问题:没有可执行权限,错误ZSH: Permissiondenied:。报告了/Python3.10 _ env/bin/activate。出现此错误是因为用户没有权限,因此只需用chmod修改权限。


第二个问题:执行的时候。/python3.10_env/bin/activate,提示您必须获取此脚本的源:$ source。/python 3.10 _ env/bin/activate;这意味着我必须使用命令源。/python3.10_env/bin/activate执行python3.10_env的虚拟环境(因为我用的是Mac,所以会出现这种情况。不知道WIN电脑会不会出现这种情况?)

执行源。/python3.10 _ env/bin/activate。我们试图执行我们安装的ipython,但发现它无法执行。这是因为我们是一个虚拟的环境。虽然ipython安装在物理环境中,但是因为我们的虚拟环境与物理环境完全隔离,所以python3.10_env是一个非常干净的没有ipython的环境。


再看一下当前虚拟环境的python解释器,如下所示:


如果您需要退出虚拟环境,请执行deactivate。需要注意的是,退出虚拟环境后,终端当前的环境并不是我们进入虚拟环境前的环境,而是本地环境。所以如果想保持之前进入的环境状态,只需要关闭终端重新进入即可。

在正常工作中,可能在一台计算机上开发多个项目,但多个项目可能使用同一个包,但它们确实有不同的版本。所以如果我们在公共环境下,没有办法保证一个包可以安装多个版本,所以我们可以通过虚拟环境根据每个不同的项目使用不同版本的不同包,彼此不冲突,保证了单个项目的独立性和完整性。

关于Python学习虚拟环境原理的详细讲解这篇文章到此为止。关于Python虚拟环境的更多信息,请搜索源搜网之前的文章或者继续浏览下面的相关文章。希望大家以后能多支持源搜网!


0

精彩评论

暂无评论...
验证码 换一张
取 消