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
目录
相关文章
|
7天前
|
机器学习/深度学习 数据可视化 Docker
Python环境
Python环境
20 3
|
17天前
|
弹性计算 Linux iOS开发
Python 虚拟环境全解:轻松管理项目依赖
本文详细介绍了 Python 虚拟环境的概念、创建和使用方法,包括 `virtualenv` 和 `venv` 的使用,以及最佳实践和注意事项。通过虚拟环境,你可以轻松管理不同项目的依赖关系,避免版本冲突,提升开发效率。
|
1月前
|
IDE 网络安全 开发工具
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
本文介绍了如何在PyCharm专业版中连接远程服务器并配置远程Python环境解释器,以便在服务器上运行代码。
307 0
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
|
1月前
|
机器学习/深度学习 缓存 PyTorch
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
这篇文章是关于如何下载、安装和配置Miniconda,以及如何使用Miniconda创建和管理Python环境的详细指南。
368 0
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
|
1月前
|
机器学习/深度学习 缓存 Linux
python环境学习:pip介绍,pip 和 conda的区别和联系。哪个更好使用?pip创建虚拟环境并解释venv模块,pip的常用命令,conda的常用命令。
本文介绍了Python的包管理工具pip和环境管理器conda的区别与联系。pip主要用于安装和管理Python包,而conda不仅管理Python包,还能管理其他语言的包,并提供强大的环境管理功能。文章还讨论了pip创建虚拟环境的方法,以及pip和conda的常用命令。作者推荐使用conda安装科学计算和数据分析包,而pip则用于安装无法通过conda获取的包。
68 0
|
Shell 虚拟化 Python
python中的venv 模块 -- 创建虚拟化的项目环境
前言 在使用 python 制作网页的过程中,我们往往需要先将站点的目录“虚拟化”。虚拟化其实就是将当前文件下程序的运行环境与整个系统的环境隔离。那么为什么我们要将一个项目虚拟化呢? 1.不进行虚拟化会产生的问题 在平时使用 python 时,有可能会遇到这几个常见的问题: 1.当运行的项目处于不同版本时(如 python 2.7/3.7 ),要通过切换 python 解释器的版本来运行程序(或要使用 python2/3 pip/pip3 等指令来对应不同的版本)。
1516 0
|
7天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
7天前
|
机器学习/深度学习 数据挖掘 Python
Python编程入门——从零开始构建你的第一个程序
【10月更文挑战第39天】本文将带你走进Python的世界,通过简单易懂的语言和实际的代码示例,让你快速掌握Python的基础语法。无论你是编程新手还是想学习新语言的老手,这篇文章都能为你提供有价值的信息。我们将从变量、数据类型、控制结构等基本概念入手,逐步过渡到函数、模块等高级特性,最后通过一个综合示例来巩固所学知识。让我们一起开启Python编程之旅吧!
|
7天前
|
存储 Python
Python编程入门:打造你的第一个程序
【10月更文挑战第39天】在数字时代的浪潮中,掌握编程技能如同掌握了一门新时代的语言。本文将引导你步入Python编程的奇妙世界,从零基础出发,一步步构建你的第一个程序。我们将探索编程的基本概念,通过简单示例理解变量、数据类型和控制结构,最终实现一个简单的猜数字游戏。这不仅是一段代码的旅程,更是逻辑思维和问题解决能力的锻炼之旅。准备好了吗?让我们开始吧!
|
9天前
|
设计模式 算法 搜索推荐
Python编程中的设计模式:优雅解决复杂问题的钥匙####
本文将探讨Python编程中几种核心设计模式的应用实例与优势,不涉及具体代码示例,而是聚焦于每种模式背后的设计理念、适用场景及其如何促进代码的可维护性和扩展性。通过理解这些设计模式,开发者可以更加高效地构建软件系统,实现代码复用,提升项目质量。 ####