首页 > 其他分享 >20. 虚拟环境

20. 虚拟环境

时间:2023-08-22 20:33:20浏览次数:28  
标签:virtualenv venv 20 创建 虚拟环境 模块 激活

一、什么是虚拟环境

  Python 应用经常需要使用一些包第三方包或者模块,有时需要依赖特定的包或者库的版本,所以很难有一个能适应所有 Python 应用的软件环境。甚至有的时候 Python 应用所依赖的版本是冲突的,满足了其中一个,另一个则无法运行,解决这一问题的方法是 虚拟环境。虚拟环境是一个包含了特定 Python 解析器以及一些软件包的自包含目录,不同的应用程序可以使用不同的虚拟环境,从而解决了依赖冲突问题,而且虚拟环境中只需要安装应用相关的包或者模块,可以给部署提供便利。

二、创建虚拟环境

2.1、virtualenv工具

  在 python3.3 之前,只能通过 virtualenv 创建虚拟环境,首先需要安装 virtualenv。

pip install virtualenv

  安装完 virtualenv 模块后,我们可以通过如下的方式创建虚拟环境。

virtualenv 虚拟环境名 [--no-site-packages] [--python=python解释器版本]

  参数 --no-site-packages 的意思是创建虚拟环境时,不复制主环境中安装的第三方包,也就是创建一个 “干净的” 虚拟环境。

2.2、venv模块

  Python3.3 之后,可以用模块 venv 代替 virtualenv 工具,好处是不用单独安装。我们通过如下的方式创建虚拟环境。

python -m venv 虚拟环境名

三、激活虚拟环境

  虚拟环境创建好后,需要激活才能在当前命令行中使用。通过 virtualenv 和 模块 venv 创建的虚拟环境,激活方式是一样的,即运行激活脚本 activate。

  Windows 系统中,激活脚本路径是 虚拟环境目录\Scripts\activate.bat,如果是 powershell 命令行,脚本换成 Activate.ps1。Linux 系统中,激活脚本路径是 虚拟环境目录/bin/activate,默认脚本没有执行权限,要么设置脚本为可执行,要么用 source 命令执行,$ source myvenv/bin/activate

  激活虚拟环境后,会在命令行中出现 (虚拟环境名),例如:(ee) E:\01>

  如果我们想关闭虚拟环境,可以执行 deactivate 命令。如果关闭运行虚拟环境的终端,虚拟环境也不将在处于活动状态。

标签:virtualenv,venv,20,创建,虚拟环境,模块,激活
From: https://www.cnblogs.com/kurome/p/17649626.html

相关文章

  • P9474 [yLOI2022] 长安幻世绘
    题目大意在元素互不相同的数列\(a\)中选出一个长度为\(m\)的元素互不相邻的子列,使得子列的极差最小。思路爆搜、\(dp\)肯定是过不了的,所以我们考虑固定某个值,赛时想到了固定最大或者最小值,然后找到另一个值,但是除了\(dp\)没想到好做法,比赛结束了才知道正解居然是同时固......
  • 20天 hot 100 速通计划-day14
    二分查找33.搜索旋转排序数组整数数组nums按升序排列,数组中的值互不相同。在传递给函数之前,nums在预先未知的某个下标k(0<=k<nums.length)上进行了旋转,使数组变为[nums[k],nums[k+1],...,nums[n-1],nums[0],nums[1],...,nums[k-1]](下标从0开始计数)。例如......
  • ACM MM 2023 | 腾讯优图实验室6篇论文入选,含视觉识别、半监督学习等研究方向
    前言 近日,腾讯优图实验室6篇论文被国际人工智能多媒体领域顶级会议ACMMM2023(ACMInternationalConferenceonMultimedia)所接收,涵盖视觉识别、神经绘画和风格化研究、半监督学习等多个研究方向,进一步展示了腾讯优图实验室在人工智能领域的技术能力和学术成果。ACMMM是计算机......
  • P9562 [SDCPC2023] G-Matching
    思路易发现,如果\(i\)和\(j\)可以连边,\(j\)和\(k\)可以连边,那\(i\)和\(k\)也可以连边,如果\(x\)不能和\(i\)连边,那\(x\)同样不能和\(j,k\)连边。所以我们可以考虑把所有可以连边的放在一起,这样就把所有点分成了若干部分,并且每个部分不可能连边,必然是分割开的。......
  • P9560 [SDCPC2023] E-Math Problem
    思路首先发现应该优先除,理由很简单,如果先乘以\(k\)再加上一个不超过\(k\)的值,那么除以\(k\)后,就除回去了,没有发生任何变化。所以我们可以先枚举除以多少次\(k\),得到除以这么多次\(k\)后的\(n\)。我们再进行若干次乘法,计算\(n\)的取值范围\([l,r]\),那么只要这个区间......
  • AT_codefestival_2016_qualB_c Gr-idian MST
    思路首先想到暴力建边跑最小生成树,但是显然会TLE。所以思考有没有时间复杂度更低的做法,考虑到最小生成树是每次取最短的边,所以我们也可以先考虑较短的边。首先最短的边一定是某一列或者某一行(或者若干列和行),所以我们取边,也应该是一行一行或者一列一列的取。但是有些时候这样......
  • P1612 [yLOI2018] 树上的链
    因为自己太憨了,所以交了好几次都没过,谢谢审核大大!!!思路因为这是一棵树,所以每个节点只有一个父亲,那么选定一个结点,它到根节点的路径唯一。所以第一个思路就是暴力,对于每一个节点,直接暴力向上枚举,找到第一个满足条件的节点,然后输出长度即可。但是显然,第一种方法很容易TLE,所以我......
  • 2023第八届世界机器人大会要点合集!
    原创|文BFT机器人01十大应用场景板块,展示“机器人+”行业应用8月16日下午,2023世界机器人大会在北京北人亦创国际会展中心开幕,本届大会以“开放创新,聚享未来”为主题,由北京市人民政府、工业和信息化部、中国科学技术协会主办、中国电子学会、北京市经济和信息化局、北京经济技术......
  • 在Docker上安装部署SQL Server2019 Express
    在Docker上安装部署SQLServer2019Express_docker安装sqlserver2019_梦想天空分外蓝的博客-CSDN博客  梦想天空分外蓝_-CSDN博客......
  • Python学习日记 2023年8月22日
    importglobimportargparseimportcv2importnumpyfromtqdmimporttqdmfromitertoolsimportproductdefparsArgs():parser=argparse.ArgumentParser('拼接马赛克图片')parser.add_argument('--targetpath',type=str,default='3.jp......