Python的Virtualenv与Venv环境管理器

简介: 介绍Python的两种环境管理工具Virtualenv和venv,包括它们的安装、创建、激活、退出环境以及查看帮助信息的方法,同时对比了两者的特点和使用场景。

作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.Virtualenv环境管理器

1>.Virtualenv概述

  如果你的操作系统使用的是原生python环境,也想要在本系统创建和运行多个Python独立环境(每个python环境都安装不同的包),可以使用py第三方库。  

  Virtualenv的功能较Conda更加简陋和原始,其与Conda不同之处如下所示:  
    (1)Virtualenv是一个Python一个包,所以使用Virttualen的前提是你的系统里至少已经有一个Python环境并且安装了Virtualenv包;  
    (2)创建的子环境,Python解释器(python.exe)是拷贝系统环境的,所以只能创建系统环境已有的Python版本(不能创建操作系统里没有python版本环境);  
    (3)各个Python环境之间,隔离的知识安装的库(可在新建子环境时选择集成系统python环境库,当然,一般情况下我们不选);  

  Virtualenv有一个辅助工具,名曰"VirtualenvWrapper",可以简化子环境以下管理操作:  
    (1)将所有子环境放在一处集中管理;  
    (2)管理命令加入环境变量不许进入目录就能执行;  
    (3)安装方法:"pip install VirtualenvWrapper";  
    (4)使用方式可自行参考帮助信息;

2>.安装Virtualenv

C:\Users\yinzhengjie>pip install virtualenv

3>.创建python子环境

D:\yinzhengjie\python>virtualenv myVirtualenvTest        #创建一个名为"myVirtualenvTest"的子python环境  


温馨提示:  
  如果你在Linux下安装了多个python版本,可以选择你需要创建对应python版本来创建子环境,比如"virtualenv -p /usr/bin/python2.7 venv27"

4>.进入到创建的子环境中

D:\yinzhengjie\python>cd myVirtualenvTest\Scripts

D:\yinzhengjie\python\myVirtualenvTest\Scripts>
D:\yinzhengjie\python\myVirtualenvTest\Scripts>activate

(myVirtualenvTest) D:\yinzhengjie\python\myVirtualenvTest\Scripts>
(myVirtualenvTest) D:\yinzhengjie\python\myVirtualenvTest\Scripts>python -V
Python 3.8.3

(myVirtualenvTest) D:\yinzhengjie\python\myVirtualenvTest\Scripts>

5>.退出python子环境

(myVirtualenvTest) D:\yinzhengjie\python\myVirtualenvTest\Scripts>deactivate        #退出子环境
D:\yinzhengjie\python\myVirtualenvTest\Scripts>

6>.新建子环境继承福环境(比如父环境中已安装的软件包信息)

D:\yinzhengjie\python>virtualenv --system-site-packages myVirtualenvTest2          #创建子环境时继承父环境

7>.查看帮助信息

D:\yinzhengjie\python>virtualenv -h

二.venv

1>.venv概述

  venv是python3.3以上的版本官方自带的一个环境管理工具。
    优点:
      官方环境自带。。
    缺点:
      python 3.3以前的版本没有此工具,所以使用相比Virtualenv较少。

  venv工具根据Virtualenv发展而来,所以功能和操作非常相似。

  python 3.4以上创建的子环境开始包含pip。

  python 3.7开始,创建的子环境不带独立python解释器,快捷方式直接调用父环境中的Python.exe(如果python升级则所有环境python解释器全部升级,这反而不好!)

  另外一个官方他推荐内置环境管理工具pyenv,py3.6起被弃用。

  博主推荐阅读:
    https://www.cnblogs.com/yinzhengjie/p/10624755.html

2>.创建python子环境

D:\yinzhengjie\python>python -m venv myVenv      #创建一个名为"myVenv"的环境目录

3>.进入python子环境

D:\yinzhengjie\python\myVenv\Scripts>activate          #在子环境目录下的Scripts目录中执行"activate"即可进入该子环境啦~

4>.退出子环境

(myVenv) D:\yinzhengjie\python\myVenv\Scripts>deactivate        #进入到子环境目录中的Scripts目录下,执行"deactivate"命令即可退出当前子环境

5>.查看帮助信息

D:\yinzhengjie\python>python -m venv -h

三.博主推荐阅读

  Python软件包管理工具pip实战篇:
    https://developer.aliyun.com/article/1604475
  Python软件包及环境管理器conda实战篇:
    https://developer.aliyun.com/article/1604477
目录
相关文章
|
28天前
|
Shell Linux Ruby
Python3虚拟环境venv
`venv` 是 Python 的虚拟环境工具,用于为不同项目创建独立的运行环境,避免依赖冲突。通过 `python3 -m venv` 命令创建虚拟环境,并使用 `source bin/activate` 激活。激活后,所有 Python 包将安装在该环境中,不影响系统全局环境。退出环境使用 `deactivate` 命令。每个虚拟环境拥有独立的包集合,确保项目间的隔离性。删除虚拟环境只需删除其目录即可。
89 34
|
1月前
|
SQL 分布式计算 数据处理
云产品评测|分布式Python计算服务MaxFrame | 在本地环境中使用MaxFrame + 基于MaxFrame实现大语言模型数据处理
本文基于官方文档,介绍了由浅入深的两个部分实操测试,包括在本地环境中使用MaxFrame & 基于MaxFrame实现大语言模型数据处理,对步骤有详细说明。体验下来对MaxCompute的感受是很不错的,值得尝试并使用!
56 1
|
1月前
|
Shell 程序员 开发者
轻松搞定在Python中构建虚拟环境
本教程教你如何使用业界公认的最佳实践,创建一个完全工作的Python开发环境。虚拟环境通过隔离依赖项,避免项目间的冲突,并允许你轻松管理包版本。我们将使用Python 3的内置`venv`模块来创建和激活虚拟环境,确保不同项目能独立运行,不会相互干扰。此外,还将介绍如何检查Python版本、激活和停用虚拟环境,以及使用`requirements.txt`文件共享依赖项。 通过本教程,你将学会: - 创建和管理虚拟环境 - 避免依赖性冲突 - 部署Python应用到服务器 适合新手和希望提升开发环境管理能力的开发者。
111 2
|
1月前
|
Python
探索Python虚拟环境:virtualenv、venv与pipenv比较
在Python开发中,有效的环境管理至关重要。virtualenv、venv和pipenv是常用的虚拟环境管理工具。virtualenv支持Python 2.7+和3.3+,可创建独立环境;venv为Python 3.3+内置库,简单轻量但功能有限;pipenv则结合了包管理和虚拟环境管理,生成Pipfile.lock确保依赖确定性和安全性,推荐作为首选工具。
|
1月前
|
人工智能 编译器 Python
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
41 0
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
|
2月前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
2月前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
2月前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
126 80

热门文章

最新文章